/* Jarvis v88 look: Apple clarity + Instagram layout. Loaded last, overrides vault.css. */
:root{
  --bg:#000;--bg2:#0a0a0a;--panel:#111113;--panel2:#141416;--card:#141416;
  --line:rgba(255,255,255,.08);--line2:rgba(255,255,255,.12);
  --text:#f5f5f7;--muted:#a1a1a6;--dim:#6e6e73;
  --accent:#0a84ff;--accent-rgb:10,132,255;--green:#30d158;--red:#ff453a;--gold:#ffd60a;
  --ig:linear-gradient(45deg,#feda75 0%,#fa7e1e 25%,#d62976 50%,#962fbf 75%,#4f5bd5 100%);
  --radius:20px;
}
html,body{background:#000;font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text",Inter,"Segoe UI",system-ui,sans-serif;font-size:15px;letter-spacing:-.01em}
.app{background:#000}
.dot{width:7px;height:7px;box-shadow:none}
::-webkit-scrollbar{width:0;height:0}

/* ---------- header ---------- */
.topbar.ig-top{display:flex;align-items:center;justify-content:space-between;height:54px;padding:0 14px;padding-top:env(safe-area-inset-top);border-bottom:.5px solid var(--line);background:rgba(0,0,0,.82);backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px);position:relative;z-index:5}
.ig-word{font-size:25px;font-weight:800;letter-spacing:-.04em;position:absolute;left:50%;transform:translateX(-50%)}
.ig-right{display:flex;gap:6px}
.ig-ico{position:relative;width:40px;height:40px;display:grid;place-items:center;border-radius:12px;color:#fff;transition:transform .12s}
.ig-ico:active{transform:scale(.9)}
.ig-ico svg{width:26px;height:26px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.ig-badge{position:absolute;top:5px;right:4px;min-width:17px;height:17px;padding:0 5px;border-radius:9px;background:#ff3040;color:#fff;font:700 11px/17px Inter,system-ui;font-style:normal;text-align:center;border:2px solid #000}

/* ---------- bottom bar (Instagram style) ---------- */
.dock.ig-dock{display:flex;justify-content:space-around;align-items:center;gap:0;height:auto;padding:6px 6px calc(6px + env(safe-area-inset-bottom));background:rgba(0,0,0,.9);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-top:.5px solid var(--line)}
.ig-dock button{position:relative;flex:1;max-width:96px;min-width:0;height:46px;display:grid;place-items:center;border:0;border-radius:12px;background:none!important;box-shadow:none!important;color:#fff;padding:0;transition:transform .12s}
.ig-dock button:active{transform:scale(.88)}
.ig-dock button svg{width:27px;height:27px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;color:#fff!important;filter:none}
.ig-dock button .f{fill:none}
.ig-dock button.active svg{stroke-width:2.3}
.ig-dock button.active .o{fill:#fff}
.ig-dock button.active svg path:not(.o):not(.f),.ig-dock button.active svg circle:not(.o){stroke:#000}
.ig-dock button.active .f{fill:#000;stroke:#000}
.ig-me-av,.me-av{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:linear-gradient(135deg,#5e5ce6,#bf5af2);font:700 13px Inter,system-ui;color:#fff;outline:2px solid transparent;outline-offset:2px}
.ig-me.active .ig-me-av{outline-color:#fff}
.bz-dock-badge{position:absolute;top:4px;left:calc(50% + 6px);min-width:17px;height:17px;padding:0 5px;border-radius:9px;background:#ff3040;color:#fff;font:700 11px/17px Inter,system-ui;font-style:normal;border:2px solid #000}

/* ---------- pages ---------- */
.page{padding:16px}
.panel{background:var(--panel);border:.5px solid var(--line);border-radius:22px;box-shadow:none}
.card{background:var(--panel2);border:.5px solid var(--line);border-radius:18px}
.chip{background:#1c1c1e;border:0;color:#fff;border-radius:10px;font-weight:600;padding:7px 14px}
.chip.active{background:#fff;color:#000;box-shadow:none}
.btn-solid{background:var(--accent);color:#fff;border:0;border-radius:12px;box-shadow:none;font-weight:600}
.btn-dark{background:#1c1c1e;border:0;border-radius:12px;color:#fff}
.btn-outline{border-color:var(--line2);border-radius:12px}
.pill-btn,.glass-btn,.glass-pill,.glass-cta,.glass-circle{background:rgba(44,44,46,.8);border:0;box-shadow:none;color:#fff}
.toast{background:rgba(44,44,46,.96);border:0;border-radius:14px;backdrop-filter:blur(20px)}

/* sheets → iOS style */
.overlay{background:rgba(0,0,0,.5);backdrop-filter:blur(6px)}
.sheet{background:#1c1c1e;border:0;border-radius:22px;box-shadow:0 30px 80px rgba(0,0,0,.6)}
.sheet-head{border-bottom:.5px solid var(--line)}
.sheet-body input[type=text],.sheet-body select,.sheet-body textarea{background:#2c2c2e;border:0;border-radius:10px}
@media (max-width:640px){.overlay{align-items:flex-end;padding:0}.sheet{width:100%;border-radius:22px 22px 0 0;max-height:90vh;padding-bottom:env(safe-area-inset-bottom)}}

/* ---------- chat (iMessage feel) ---------- */
.chat-panel{background:#000;border:0}
.chat-face{background:transparent!important;border-right:.5px solid var(--line)!important}
.face-ring{opacity:.35}
.face-name{font-weight:700;letter-spacing:-.02em}
.messages{gap:6px}
.msg{background:#262628;border:0;border-radius:20px;border-bottom-left-radius:6px;padding:9px 14px;font-size:15px;line-height:1.4}
.msg.user{background:var(--accent);color:#fff;border:0;border-radius:20px;border-bottom-right-radius:6px}
.composer{background:#1c1c1e;border:0;border-radius:22px;padding:4px 4px 4px 8px}
.composer:focus-within{box-shadow:none;border:0}
.send-btn{background:var(--accent)!important;border-radius:50%!important;box-shadow:none!important;color:#fff}
.chat-hint{color:var(--dim)}
.welcome h2{font-weight:800;letter-spacing:-.03em;font-size:26px}

/* ---------- feed (Instagram) ---------- */
.page#feed{padding:0}
.feed-wrap{width:min(100%,470px);margin:0 auto}
.stories{display:flex;gap:14px;overflow-x:auto;padding:12px 14px 10px;scroll-snap-type:x mandatory}
.story{flex:none;display:flex;flex-direction:column;align-items:center;gap:5px;width:70px;scroll-snap-align:start}
.story small{font-size:11.5px;color:#f5f5f7;max-width:70px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.story .st-ring{width:68px;height:68px;border-radius:50%;padding:2.5px;background:var(--ig);display:grid;place-items:center;transition:transform .15s}
.story:active .st-ring{transform:scale(.93)}
.story .st-ring.seen{background:#3a3a3c}
.story .st-ring.none{background:none}
.story .st-ring img,.story .st-av{width:100%;height:100%;border-radius:50%;border:3px solid #000;image-rendering:pixelated;object-fit:cover;background:#111}
.story .st-av{position:relative;font-size:24px;width:62px;height:62px;border:0}
.story .st-av i{position:absolute;right:-2px;bottom:-2px;width:22px;height:22px;border-radius:50%;background:var(--accent);border:3px solid #000;font:700 15px/16px Inter;font-style:normal;text-align:center}
.chips-row{padding:6px 14px 10px;border-bottom:.5px solid var(--line)}
.add-btn{background:#1c1c1e;border:0;border-radius:10px}
.posts{gap:0;padding-bottom:30px}
.post,.post.compact{display:flex;flex-direction:column;background:#000;border:0;border-bottom:.5px solid var(--line);border-radius:0;padding:0 0 12px}
.post-head{order:1;padding:10px 14px;gap:10px}
.post-av{width:34px;height:34px;padding:2px;background:var(--ig);border-radius:50%}
.post-av img{border:2px solid #000;border-radius:50%}
.post-who b{font-weight:600;font-size:14px}
.post-media{order:2;width:100%;border-radius:0;max-height:none;aspect-ratio:4/5;object-fit:cover}
.post.compact .post-body{order:2;padding:0 14px}
.post.compact .post-media{aspect-ratio:1;border-radius:12px}
.post-row{order:3;padding:8px 10px 0;gap:4px}
.post-row button svg{width:25px;height:25px}
.post-cap{order:4;padding:6px 14px 0;font-size:14px;line-height:1.45}
.post-row .liked svg{color:#ff3040;fill:#ff3040}

/* ---------- home widgets ---------- */
.page#hub{padding:0}
.home{width:min(100%,920px);margin:0 auto;padding:18px 16px 30px}
.home-head small{color:var(--dim);font-weight:600;font-size:12px;letter-spacing:.04em}
.home-head h1{font-size:32px;font-weight:800;letter-spacing:-.04em;margin:2px 0 16px}
.widgets{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.w{position:relative;display:flex;flex-direction:column;align-items:flex-start;text-align:left;background:#1c1c1e;border:0;border-radius:22px;padding:14px;overflow:hidden;min-height:150px;color:#fff;transition:transform .15s}
button.w:active{transform:scale(.97)}
.w small{font-size:11px;font-weight:700;letter-spacing:.06em;color:var(--muted)}
.w b{font-size:34px;font-weight:800;letter-spacing:-.04em;line-height:1.1;margin-top:6px}
.w span{font-size:13px;color:var(--muted)}
.w em{margin-top:auto;font-style:normal;font-size:13px;font-weight:600}
.w-sq{grid-column:span 1}
.w-wide{grid-column:span 2;min-height:150px}
.w-jarvis{grid-column:span 2;grid-row:span 2;background:radial-gradient(120% 90% at 20% 0%,#16314a 0%,#0b1722 55%,#08111a 100%);min-height:314px}
.w-jarvis img{width:58%;max-width:220px;align-self:center;margin:6px 0 4px;filter:drop-shadow(0 18px 30px rgba(39,211,234,.25))}
.wj-txt{display:flex;flex-direction:column;gap:2px}
.wj-txt b{font-size:19px;letter-spacing:-.02em;margin:0}
.wj-btns{display:flex;gap:8px;margin-top:auto;width:100%;padding-top:10px}
.w-pill{flex:1;height:38px;border-radius:19px;background:#fff;color:#000;font-weight:700}
.w-pill.alt{background:rgba(255,255,255,.14);color:#fff}
.w-vault{background:linear-gradient(160deg,#3a2a12,#1c1c1e 70%)}
.w-vault em{color:#ffd60a}
.w-biz{background:linear-gradient(160deg,#0f3a26,#1c1c1e 70%)}
.w-biz em{color:#30d158}
.w-feed{background:linear-gradient(160deg,#3a1030,#1c1c1e 70%)}
.w-feed em{background:var(--ig);-webkit-background-clip:text;background-clip:text;color:transparent}
.w-sys b{display:flex;align-items:center;height:41px}.w-sys .dot{width:12px;height:12px}
.w-h{display:flex;justify-content:space-between;align-items:center;width:100%;margin-bottom:8px}
.w-link{color:var(--accent);font-weight:600;font-size:13px}
.w-dim{color:var(--dim);font-size:12px}
#wl-list{display:flex;flex-direction:column;gap:6px;width:100%}
.wl-row{display:flex;align-items:center;gap:8px;text-align:left;font-size:13px;color:#e5e5ea;width:100%}
.wl-row i{flex:none;width:8px;height:8px;border-radius:50%}
.wl-row span{color:#e5e5ea;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#wd-list{display:grid;grid-template-columns:1fr 1fr;gap:5px 14px;width:100%}
.wd-row{display:grid;grid-template-columns:8px 58px 1fr auto;align-items:center;gap:6px;font-size:12px}
.wd-row i{width:8px;height:8px;border-radius:50%}
.wd-row span{color:#e5e5ea;text-align:left;font-size:12px}
.wd-row em{height:5px;border-radius:3px;background:#2c2c2e;overflow:hidden;margin:0}
.wd-row em u{display:block;height:100%;border-radius:3px;transition:width 1s}
.wd-row small{color:var(--dim);font-size:10.5px;letter-spacing:0;font-weight:500}
.w-notes textarea{width:100%;flex:1;background:transparent;border:0;outline:none;resize:none;color:#fff;font:inherit;font-size:14px;line-height:1.45;min-height:90px}
.home-sec{font-size:20px;font-weight:800;letter-spacing:-.03em;margin:26px 2px 12px}
.tiles.apps{display:grid;grid-template-columns:repeat(8,1fr);gap:14px 8px;margin:0}
.tiles.apps .tile{background:none;border:0;padding:0;gap:7px;box-shadow:none}
.tiles.apps .tile b{font-size:11.5px;font-weight:500;color:#e5e5ea;text-align:center}
.app-ic{width:58px;height:58px;border-radius:15px;display:grid;place-items:center;color:#fff}
.app-ic svg{width:28px!important;height:28px!important;color:#fff!important;filter:none!important}
.g1{background:linear-gradient(160deg,#27d3ea,#0a6aa8)}.g2{background:linear-gradient(160deg,#bf5af2,#5e5ce6)}.g3{background:linear-gradient(160deg,#ff9f0a,#ff375f)}.g4{background:linear-gradient(160deg,#30d158,#0a8a5a)}
.g5{background:linear-gradient(160deg,#64d2ff,#0a84ff)}.g6{background:linear-gradient(160deg,#ffd60a,#ff9f0a)}.g7{background:linear-gradient(160deg,#8e8e93,#3a3a3c)}.g8{background:linear-gradient(160deg,#636366,#2c2c2e)}
@media (max-width:760px){
  .widgets{grid-template-columns:1fr 1fr;gap:12px}
  .w-jarvis{grid-column:span 2;grid-row:span 1;min-height:0;display:grid;grid-template-columns:110px 1fr;grid-template-rows:auto auto;column-gap:12px}
  .w-jarvis img{width:110px;grid-row:span 2;margin:0}
  .wj-btns{grid-column:2}
  .w-wide{grid-column:span 2}
  .w{min-height:138px}
  .tiles.apps{grid-template-columns:repeat(4,1fr)}
  #wd-list{grid-template-columns:1fr}
}

/* ---------- story viewer ---------- */
.story-view{position:fixed;inset:0;z-index:60;background:radial-gradient(120% 80% at 50% 20%,color-mix(in srgb,var(--sv,#333) 55%,#000) 0%,#000 75%);display:flex;flex-direction:column;align-items:center;padding:calc(10px + env(safe-area-inset-top)) 12px calc(18px + env(safe-area-inset-bottom));animation:fade .2s}
.sv-bars{display:flex;gap:4px;width:min(100%,460px)}
.sv-bars i{flex:1;height:2.5px;border-radius:2px;background:rgba(255,255,255,.3);overflow:hidden}
.sv-bars u{display:block;height:100%;background:#fff}
.sv-head{display:flex;align-items:center;gap:10px;width:min(100%,460px);margin-top:12px;z-index:2}
.sv-head img{width:36px;height:36px;border-radius:50%;image-rendering:pixelated}
.sv-head b{font-weight:700;font-size:14px}.sv-head small{display:block;color:rgba(255,255,255,.75);font-size:12px}
.sv-x{margin-left:auto;font-size:22px;color:#fff;width:40px;height:40px}
.sv-body{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;text-align:center}
.sv-big{width:min(62vw,260px);border-radius:36px;image-rendering:pixelated;box-shadow:0 30px 80px rgba(0,0,0,.5)}
.sv-act{font-size:22px;font-weight:800;letter-spacing:-.03em;max-width:340px}
.sv-where{color:rgba(255,255,255,.75);font-size:14px}
.sv-tap{position:absolute;top:90px;bottom:90px;width:40%;z-index:1}.sv-tap.l{left:0}.sv-tap.r{right:0}
.sv-reply{z-index:2;width:min(100%,460px);height:46px;border-radius:23px;border:1px solid rgba(255,255,255,.4);color:#fff;font-weight:600}

/* ---------- vault world ---------- */
.page#commons{padding:0}
.page#commons.active{display:block}
.vw{position:absolute;inset:0;overflow:hidden;background:#0b0a09;font-family:-apple-system,BlinkMacSystemFont,Inter,system-ui,sans-serif}
#vw-canvas{position:absolute;inset:0;touch-action:none;cursor:grab;image-rendering:pixelated}
#vw-canvas:active{cursor:grabbing}
.vw-top{position:absolute;top:12px;left:12px;display:flex;flex-direction:column;gap:8px;pointer-events:none}
.vw-title{display:flex;flex-direction:column;background:rgba(18,18,20,.72);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-radius:16px;padding:8px 14px;border:.5px solid var(--line)}
.vw-title small{font-size:10px;font-weight:700;letter-spacing:.12em;color:#ffd60a}
.vw-title b{font-size:20px;font-weight:800;letter-spacing:-.03em}
.vw-pills{display:flex;gap:6px;flex-wrap:wrap}
.vw-pill{background:rgba(18,18,20,.72);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-radius:12px;padding:6px 10px;font-size:12.5px;font-weight:600;border:.5px solid var(--line)}
.vw-pill.dim{color:var(--muted)}
.vw-mini-wrap{position:absolute;top:12px;right:12px;width:170px;padding:5px;border-radius:16px;background:rgba(18,18,20,.72);backdrop-filter:blur(16px);border:.5px solid var(--line)}
#vw-mini{display:block;width:100%;border-radius:11px;cursor:pointer}
.vw-bar{position:absolute;left:50%;bottom:14px;transform:translateX(-50%);display:flex;gap:8px;align-items:center;padding:6px;border-radius:20px;background:rgba(18,18,20,.78);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:.5px solid var(--line);max-width:calc(100% - 20px);overflow-x:auto}
.vw-seg{display:flex;background:#2c2c2e;border-radius:12px;padding:2px}
.vw-seg button{padding:6px 10px;border-radius:10px;font-size:12.5px;font-weight:700;color:var(--muted)}
.vw-seg button.on{background:#636366;color:#fff}
.vw-btn{flex:none;padding:8px 13px;border-radius:12px;background:#2c2c2e;font-size:13px;font-weight:600;white-space:nowrap}
.vw-btn.ghost{background:none;color:var(--muted)}
.vw-log{position:absolute;right:12px;top:130px;width:290px;max-height:calc(100% - 210px);display:none;flex-direction:column;border-radius:18px;background:rgba(18,18,20,.82);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:.5px solid var(--line);overflow:hidden}
.vw.log-open .vw-log{display:flex}
.vw.log-open #vw-log-btn{background:#fff;color:#000}
.vw-log-h{display:flex;justify-content:space-between;align-items:baseline;padding:12px 14px 8px}
.vw-log-h small{color:var(--dim);font-size:11px}
#vw-log-list{overflow:auto;padding:0 6px 8px}
.vw-ev{display:grid;grid-template-columns:8px 1fr auto;gap:8px;align-items:center;width:100%;text-align:left;padding:7px 8px;border-radius:10px;font-size:12.5px;line-height:1.3}
.vw-ev:hover{background:rgba(255,255,255,.06)}
.vw-ev i{width:8px;height:8px;border-radius:50%}
.vw-ev time{color:var(--dim);font-size:11px;font-variant-numeric:tabular-nums}
.vw-card{position:absolute;left:12px;bottom:76px;width:340px;max-height:calc(100% - 100px);overflow:auto;padding:14px;border-radius:22px;background:rgba(28,28,30,.92);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border:.5px solid var(--line2);box-shadow:0 20px 60px rgba(0,0,0,.5);animation:vwup .2s ease}
@keyframes vwup{from{transform:translateY(10px);opacity:0}to{transform:none;opacity:1}}
.vw-c-top{display:flex;align-items:center;gap:12px}
#vw-c-av{width:52px;height:52px;border-radius:50%;image-rendering:pixelated;flex:none}
.vw-c-id{flex:1;min-width:0}
.vw-c-id b{display:block;font-size:17px;font-weight:700;letter-spacing:-.02em}
.vw-c-id small{color:var(--muted);font-size:12.5px}
.vw-x{width:30px;height:30px;border-radius:50%;background:#3a3a3c;color:#fff;font-size:13px;flex:none}
.vw-c-now{display:flex;gap:10px;align-items:flex-start;margin:12px 0 8px;padding:10px 12px;border-radius:14px;background:rgba(255,255,255,.06)}
.vw-c-now i{width:8px;height:8px;border-radius:50%;background:#30d158;margin-top:6px;flex:none;animation:pulse 1.6s infinite}
@keyframes pulse{50%{opacity:.35}}
.vw-c-now b{display:block;font-size:14px}.vw-c-now small{color:var(--muted);font-size:12px}
.vw-c-meta{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:6px}
.vw-c-meta span{font-size:11.5px;background:#2c2c2e;border-radius:8px;padding:4px 8px;color:#e5e5ea}
.vw-c-chain{margin-top:8px}
.vw-c-chain small,.vw-sub{display:block;font-size:10.5px;font-weight:700;letter-spacing:.08em;color:var(--dim);margin:8px 0 6px}
.vw-c-chain div,.vw-chips{display:flex;flex-wrap:wrap;align-items:center;gap:5px}
.vw-c-chain b{color:var(--dim);font-weight:400}
.vw-chip{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;border-radius:999px;background:#2c2c2e;font-size:12.5px;font-weight:600;color:#fff}
.vw-chip i{width:7px;height:7px;border-radius:50%}
.vw-chip.me{background:linear-gradient(135deg,#5e5ce6,#bf5af2)}
.vw-c-btns{display:flex;gap:8px;margin-top:12px}
.vw-primary,.vw-secondary{flex:1;height:38px;border-radius:12px;font-weight:700;font-size:14px}
.vw-primary{background:var(--accent);color:#fff}.vw-secondary{background:#3a3a3c;color:#fff}
.vw-c-chat{margin-top:10px}
.vw-c-log{display:flex;flex-direction:column;gap:5px;max-height:180px;overflow:auto;margin-bottom:8px}
.vw-m{align-self:flex-start;max-width:85%;background:#3a3a3c;border-radius:16px;border-bottom-left-radius:5px;padding:7px 11px;font-size:13.5px;line-height:1.35}
.vw-m.me{align-self:flex-end;background:var(--accent);border-radius:16px;border-bottom-right-radius:5px}
.vw-c-chat form{display:flex;gap:6px}
.vw-c-chat input{flex:1;min-width:0;height:36px;border-radius:18px;border:0;background:#2c2c2e;padding:0 14px;color:#fff;outline:none;font:inherit;font-size:14px}
.vw-c-chat form button{padding:0 14px;border-radius:18px;background:var(--accent);font-weight:700;font-size:13px}
.vw-sheet{position:absolute;inset:0;z-index:5;background:rgba(0,0,0,.45);display:flex;align-items:center;justify-content:center;padding:16px;animation:fade .2s}
.vw-sheet-in{width:min(100%,760px);max-height:86%;display:flex;flex-direction:column;background:#1c1c1e;border-radius:22px;overflow:hidden}
.vw-sheet-in.small{width:min(100%,420px)}
.vw-sheet-h{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;border-bottom:.5px solid var(--line)}
.vw-sheet-h b{font-size:17px}
.vw-sheet-b{overflow:auto;padding:14px 16px 18px}
.vw-room-h{display:flex;gap:10px;align-items:flex-start;margin-bottom:6px}
.vw-room-h i{width:12px;height:12px;border-radius:4px;margin-top:5px;flex:none}
.vw-room-h b{font-size:17px}.vw-room-h small{display:block;color:var(--muted);font-size:12.5px}
.vw-room-l{font-size:13px;color:var(--muted);margin:8px 0}
.vw-empty{color:var(--dim);font-size:12.5px}
/* org chart */
.org,.org ul{list-style:none;margin:0;padding:0}
.org ul{margin-left:18px;padding-left:12px;border-left:1px solid #3a3a3c}
.org li{margin:6px 0}
.org-n{display:inline-flex;align-items:center;gap:10px;padding:6px 12px 6px 6px;border-radius:14px;background:#2c2c2e;text-align:left}
.org-n:hover{background:#3a3a3c}
.org-n img,.org-n .me-av{width:34px;height:34px;border-radius:50%;image-rendering:pixelated}
.org-n b{display:block;font-size:13.5px}.org-n small{display:block;color:var(--muted);font-size:11.5px}
.org-n.me{background:linear-gradient(135deg,rgba(94,92,230,.35),rgba(191,90,242,.35))}
@media (max-width:700px){
  .vw-mini-wrap{width:118px;top:10px;right:10px}
  .vw-top{top:10px;left:10px}
  .vw-title b{font-size:17px}
  .vw-card{left:8px;right:8px;width:auto;bottom:70px;max-height:62%}
  .vw-log{left:8px;right:8px;width:auto;top:auto;bottom:70px;max-height:42%}
  .vw-bar{bottom:10px;gap:6px}
  .vw-btn{padding:8px 10px}
  #vw-new{display:none}
}

/* business tab keeps its features, gets the cleaner surfaces */
.biz-panel{background:#000;border:0}
.hub-head h1{font-weight:800;letter-spacing:-.03em}
@media (max-width:640px){.chat-face .face-state{display:none}.chat-face .pill-btn{white-space:nowrap;padding:8px 12px;font-size:13px}.chat-face .face-stage{flex:none}}

/* ---------- v89: full-screen game panel ---------- */
/* map keeps the app header and bottom bar visible */
.vw-back{display:none!important}
.vw-row{display:flex;gap:8px;align-items:center;pointer-events:auto}
.vw-back{width:44px;height:44px;border-radius:14px;background:rgba(18,18,20,.72);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:.5px solid var(--line);font-size:28px;line-height:1;color:#fff;display:grid;place-items:center;padding-bottom:3px}
.vw-top{top:10px;pointer-events:none}
.vw-pill.bad{background:rgba(255,59,48,.85);color:#fff}
.vw-mini-wrap{top:10px}
.vw-say{position:absolute;left:50%;top:calc(116px + env(safe-area-inset-top));transform:translateX(-50%);max-width:min(92%,520px);padding:10px 16px;border-radius:16px;background:rgba(28,28,30,.92);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:.5px solid var(--line2);font-size:14px;font-weight:600;line-height:1.35;text-align:center;z-index:4;animation:vwup .2s ease;pointer-events:none}
.vw-tools{position:absolute;right:12px;top:50%;transform:translateY(-50%);display:flex;flex-direction:column;gap:6px;padding:6px;border-radius:18px;background:rgba(18,18,20,.82);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:.5px solid var(--line);z-index:3}
.vw-tools button{width:52px;height:50px;border-radius:12px;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:19px;color:#fff;gap:1px}
.vw-tools button small{font-size:9.5px;font-weight:600;color:var(--muted)}
.vw-tools button.on{background:#fff}.vw-tools button.on small{color:#000}
.vw-dock{position:absolute;left:50%;bottom:10px;transform:translateX(-50%);width:min(calc(100% - 20px),640px);display:flex;flex-direction:column;gap:8px;z-index:3}
.vw-dock .vw-bar{position:static;transform:none;max-width:100%;align-self:center}
.vw-cmd{display:flex;align-items:center;gap:8px;padding:5px 5px 5px 6px;border-radius:24px;background:rgba(28,28,30,.9);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:.5px solid var(--line2)}
.vw-cmd-av{flex:none;width:32px;height:32px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#4a74b0,#1d3340);display:grid;place-items:center;font:800 13px Inter,system-ui;color:#5fff8a;box-shadow:0 0 0 2px rgba(39,211,234,.35)}
.vw-cmd input{flex:1;min-width:0;height:36px;border:0;background:transparent;color:#fff;font:inherit;font-size:15px;outline:none}
.vw-cmd button{flex:none;width:36px;height:36px;border-radius:50%;background:var(--accent);color:#fff;font-size:18px;font-weight:800}
.vw-btn.on{background:#fff;color:#000}
.vw-hp{position:relative;height:18px;border-radius:9px;background:#2c2c2e;overflow:hidden;margin-top:10px}
.vw-hp u{position:absolute;left:0;top:0;bottom:0;border-radius:9px;transition:width .4s,background .4s}
.vw-hp span{position:relative;display:block;text-align:center;font-size:11px;font-weight:700;line-height:18px;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.6)}
.vw-c-chat{margin-top:12px}
.vw-card .vw-secondary{width:100%;margin-top:8px}
.vw-card{bottom:calc(128px + env(safe-area-inset-bottom))}
.vw-log{top:calc(120px + env(safe-area-inset-top));max-height:calc(100% - 270px)}
.vw-room-acts{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}
@media (max-width:700px){
  .hide-sm{display:none}
  .vw-card{bottom:calc(122px + env(safe-area-inset-bottom));max-height:56%}
  .vw-log{bottom:calc(122px + env(safe-area-inset-bottom));top:auto;max-height:38%}
  .vw-tools{top:auto;bottom:calc(130px + env(safe-area-inset-bottom));transform:none;flex-direction:row;left:8px;right:8px;justify-content:space-between;overflow-x:auto}
  .vw-tools button{width:46px;flex:none}
  .vw-say{top:calc(104px + env(safe-area-inset-top))}
  #vw-new{display:inline-block}
  .vw-bar{gap:5px;padding:5px}
  .vw-btn{padding:7px 9px;font-size:12.5px}
}
.vw-pills{max-width:calc(100vw - 210px)}
@media (max-width:700px){.vw-pills{max-width:calc(100vw - 150px)}.vw-pill{font-size:11.5px;padding:5px 8px}}

/* ---------- voice calls ---------- */
.vw-c-btns .call{background:#30d158}
.vw-call{position:absolute;inset:0;z-index:8;display:flex;align-items:center;justify-content:center;background:radial-gradient(120% 80% at 50% 25%,color-mix(in srgb,var(--cc,#27d3ea) 45%,#000) 0%,rgba(0,0,0,.94) 70%);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);animation:fade .25s}
.vw-call-in{display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px;width:min(100%,420px);padding:calc(30px + env(safe-area-inset-top)) 22px calc(30px + env(safe-area-inset-bottom))}
.vw-call-timer{font-variant-numeric:tabular-nums;color:rgba(255,255,255,.7);font-size:14px;font-weight:600}
.vw-call-av{position:relative;width:200px;height:200px;margin:22px 0 14px;display:grid;place-items:center}
.vw-call-av img{position:relative;width:170px;height:170px;border-radius:50%;image-rendering:pixelated;box-shadow:0 20px 60px rgba(0,0,0,.5);z-index:1}
.vw-call-av i{position:absolute;inset:15px;border-radius:50%;border:2px solid var(--cc,#27d3ea);opacity:0}
.vw-call[data-state=speaking] .vw-call-av i{animation:ring 1.4s ease-out infinite}
.vw-call[data-state=speaking] .vw-call-av i+i{animation-delay:.7s}
.vw-call[data-state=listening] .vw-call-av img{box-shadow:0 0 0 4px rgba(48,209,88,.7),0 20px 60px rgba(0,0,0,.5)}
.vw-call[data-state=thinking] .vw-call-av img{animation:bob 1s ease-in-out infinite}
.vw-call[data-state=ringing] .vw-call-av img{animation:bob .5s ease-in-out infinite}
@keyframes ring{0%{transform:scale(1);opacity:.8}100%{transform:scale(1.35);opacity:0}}
@keyframes bob{50%{transform:translateY(-4px)}}
.vw-call-name{font-size:30px;font-weight:800;letter-spacing:-.03em}
.vw-call-role{color:rgba(255,255,255,.7);font-size:13.5px}
.vw-call-state{margin-top:14px;font-size:15px;font-weight:700;color:#fff;padding:6px 14px;border-radius:999px;background:rgba(255,255,255,.12)}
.vw-call[data-state=listening] .vw-call-state{background:rgba(48,209,88,.25);color:#7dff9e}
.vw-call-cap{min-height:66px;max-width:360px;font-size:17px;line-height:1.4;font-weight:500;color:#f5f5f7;margin:10px 0 0}
.vw-call-btns{display:flex;gap:26px;margin-top:26px}
.vw-call-btns button{display:flex;flex-direction:column;align-items:center;gap:6px;color:#fff}
.vw-call-btns button svg{width:64px;height:64px;padding:18px;border-radius:50%;background:rgba(255,255,255,.18);fill:none;stroke:#fff;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;box-sizing:border-box}
.vw-call-btns button.on svg{background:#fff;stroke:#000}
.vw-call-btns .hang svg{background:#ff3b30;fill:#fff;stroke:none;padding:17px}
.vw-call-btns small{font-size:12px;color:rgba(255,255,255,.8)}
.vw-call-mini{display:none}
.vw-call.mini{inset:auto;left:50%;top:calc(64px + env(safe-area-inset-top));transform:translateX(-50%);background:none;backdrop-filter:none;-webkit-backdrop-filter:none}
.vw-call.mini .vw-call-in{display:none}
.vw-call.mini .vw-call-mini{display:flex;align-items:center;gap:8px;padding:9px 16px;border-radius:999px;background:#30d158;color:#000;font-weight:700;font-size:14px;box-shadow:0 10px 30px rgba(0,0,0,.4)}
.vw-call.mini .vw-call-mini i{width:8px;height:8px;border-radius:50%;background:#000;animation:pulse 1.2s infinite}
/* keyboard-dictation fallback box */
.vk-type{position:fixed;left:50%;bottom:calc(12px + env(safe-area-inset-bottom));transform:translateX(-50%);width:min(calc(100% - 20px),560px);z-index:100;padding:10px;border-radius:20px;background:rgba(28,28,30,.96);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:.5px solid rgba(255,255,255,.14);box-shadow:0 20px 50px rgba(0,0,0,.5)}
.vk-hint{font-size:12.5px;color:#c7c7cc;margin:0 4px 8px;line-height:1.35}
.vk-row{display:flex;gap:6px}
.vk-row input{flex:1;min-width:0;height:42px;border-radius:21px;border:0;background:#2c2c2e;color:#fff;padding:0 16px;font:inherit;font-size:16px;outline:none}
.vk-row button{height:42px;padding:0 16px;border-radius:21px;background:#0a84ff;color:#fff;font-weight:700}
.vk-row .vk-x{background:#3a3a3c;padding:0 14px}

/* ---------- v90: 5-tab bar + Manage ---------- */
.ig-dock .ig-jarvis img{width:34px;height:34px;border-radius:50%;object-fit:cover;background:#0e2234;outline:2px solid transparent;outline-offset:2px;transition:outline-color .15s}
.ig-dock .ig-jarvis.active img{outline-color:#fff}
.home-sub{color:var(--muted);font-size:15px;margin:-12px 0 16px}
.appr-card{display:flex;align-items:center;gap:14px;width:100%;text-align:left;padding:16px;border-radius:22px;background:#1c1c1e;margin-bottom:12px;color:#fff}
.appr-card.has{background:linear-gradient(135deg,#0a84ff,#5e5ce6)}
.appr-ic{flex:none;width:46px;height:46px;border-radius:14px;display:grid;place-items:center;background:rgba(255,255,255,.14);font-size:22px;font-weight:800}
.appr-txt{flex:1;min-width:0}.appr-txt b{display:block;font-size:17px;font-weight:700}.appr-txt span{display:block;font-size:13px;color:rgba(255,255,255,.75);margin-top:2px}
.appr-card em{font-style:normal;font-weight:700;font-size:14px;white-space:nowrap}
.mg-list{background:#1c1c1e;border-radius:22px;overflow:hidden;margin-bottom:22px}
.mg-row{display:flex;align-items:center;gap:12px;width:100%;text-align:left;padding:12px 14px;border-bottom:.5px solid var(--line);color:#fff}
.mg-row:last-child{border-bottom:0}
.mg-ic{flex:none;width:34px;height:34px;border-radius:9px;display:grid;place-items:center;font-size:17px}
.mg-row span:nth-child(2){flex:1;min-width:0}.mg-row b{display:block;font-size:15px;font-weight:600}.mg-row small{display:block;font-size:12.5px;color:var(--muted)}
.mg-row em{font-style:normal;color:var(--dim);font-size:20px}
.mg-folders{padding:4px 14px 14px;border-bottom:.5px solid var(--line)}
.mg-f{display:flex;align-items:center;gap:10px;padding:8px 0;border-bottom:.5px solid var(--line)}
.mg-f span{font-size:18px}.mg-f b{flex:1;font-weight:500;font-size:14px}.mg-f small{color:var(--dim)}
.mg-note{font-size:12.5px;color:var(--muted);margin:10px 0 0;line-height:1.4}

/* ---------- FaceTime-style camera in calls ---------- */
.voice-panel{position:relative}
.facecam{position:absolute;right:14px;top:14px;width:112px;height:150px;border-radius:18px;overflow:hidden;background:#111;z-index:20;box-shadow:0 12px 30px rgba(0,0,0,.55);border:2px solid rgba(255,255,255,.25);touch-action:none;cursor:grab;animation:vwup .2s ease}
.facecam video{width:100%;height:100%;object-fit:cover;display:block}
.facecam.mirror video{transform:scaleX(-1)}
.facecam button{position:absolute;width:28px;height:28px;border-radius:50%;background:rgba(0,0,0,.55);color:#fff;font-size:12px;display:grid;place-items:center;backdrop-filter:blur(8px)}
.facecam .fc-flip{left:6px;bottom:6px}.facecam .fc-flip svg{width:16px;height:16px;fill:none;stroke:#fff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.facecam .fc-off{right:6px;top:6px}
.facecam .fc-msg{position:absolute;inset:0;display:grid;place-items:center;text-align:center;font-size:11.5px;line-height:1.35;color:#d1d1d6;padding:10px;pointer-events:none}
.facecam .fc-msg:empty{display:none}
.facecam.blocked{background:linear-gradient(160deg,#2c2c2e,#1c1c1e)}
.facecam.blocked .fc-flip{display:none}
.vw-call .facecam{top:calc(18px + env(safe-area-inset-top));right:16px}
.vw-call-btns{gap:18px;flex-wrap:wrap;justify-content:center}
#v-video.on,.round-btn.on{background:#fff;color:#000}
.vw-call.mini .facecam{display:none}

/* ---------- installed iPhone app ---------- */
html,body{overscroll-behavior:none;-webkit-tap-highlight-color:transparent}
@media (display-mode: standalone){.topbar.ig-top{height:calc(54px + env(safe-area-inset-top))}}
.brain-sheet{position:fixed;inset:0;z-index:200;background:rgba(0,0,0,.55);backdrop-filter:blur(8px);display:flex;align-items:flex-end;justify-content:center}
.brain-sheet[hidden]{display:none}
.bs-in{width:min(100%,520px);background:#1c1c1e;border-radius:24px 24px 0 0;padding:18px 18px calc(22px + env(safe-area-inset-bottom));animation:vwup .2s ease}
.bs-h{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.bs-h b{font-size:19px;font-weight:800}
.bs-x{width:32px;height:32px;border-radius:50%;background:#3a3a3c;color:#fff}
.bs-p{color:#c7c7cc;font-size:14px;line-height:1.45;margin:0 0 12px}
#bs-url{width:100%;height:48px;border-radius:14px;border:0;background:#2c2c2e;color:#fff;padding:0 14px;font:inherit;font-size:16px;outline:none}
.bs-row{display:flex;gap:8px;margin-top:10px}
.bs-test{flex:1;height:48px;border-radius:14px;background:#0a84ff;color:#fff;font-weight:700;font-size:16px}
.bs-res{margin-top:12px;font-size:14px;color:#c7c7cc;min-height:20px}.bs-res.good{color:#30d158}.bs-res.bad{color:#ff6961}
.bs-l{display:flex;flex-direction:column;gap:6px;margin-top:12px;font-size:13px;color:#8e8e93}
.bs-l select{height:44px;border-radius:12px;background:#2c2c2e;color:#fff;border:0;padding:0 10px;font-size:15px}
.bs-sep{height:.5px;background:rgba(255,255,255,.12);margin:18px 0 14px}
.bs-t{display:block;font-size:16px;font-weight:700;margin-bottom:4px}
.bs-lite{display:block;width:100%;margin-top:8px;color:#0a84ff;font-size:14px;font-weight:600;padding:6px}
.bs-prog{height:8px;border-radius:4px;background:#2c2c2e;overflow:hidden;margin-top:10px}.bs-prog u{display:block;height:100%;width:0;background:#30d158;transition:width .3s}
.bs-in{max-height:92vh;overflow:auto}
