/* ============================================================
   SkyRender — Mac Sync app + stakeholder fanout
   ============================================================ */

/* macOS window */
.macwin{
  width:100%; max-width:520px; border-radius:14px; overflow:hidden;
  background:#0c0f14; border:1px solid var(--line-2);
  box-shadow:0 50px 120px -40px rgba(0,0,0,.9), 0 0 60px -24px rgba(47,231,224,.16);
}
.macwin-bar{ height:40px; display:flex; align-items:center; padding:0 14px; background:#171b21; border-bottom:1px solid var(--line-soft); position:relative; }
.macwin-bar .lights{ display:flex; gap:8px; z-index:1; }
.macwin-bar .lights i{ width:12px; height:12px; border-radius:50%; }
.macwin-bar .lights .r{ background:#ff5f57; } .macwin-bar .lights .y{ background:#febc2e; } .macwin-bar .lights .g{ background:#28c840; }
.macwin-bar .title{ position:absolute; inset:0; display:flex; align-items:center; justify-content:center; font-size:13px; color:var(--ink-2); font-weight:500; }
.macwin-body{ padding:20px; }

.seg{ display:inline-flex; background:#0a0d12; border:1px solid var(--line); border-radius:9px; padding:3px; gap:3px; }
.seg button, .seg span{ font-size:12.5px; font-weight:500; padding:6px 14px; border-radius:7px; border:0; background:transparent; color:var(--ink-dim); }
.seg .on{ background:#2f6bf7; color:#fff; box-shadow:0 4px 12px -4px rgba(47,107,247,.6); }

.mac-acct{ font-size:13px; color:var(--ink-2); font-weight:600; }
.mac-acct small{ display:block; font-weight:400; color:var(--ink-faint); font-size:12px; }
.mac-signout{ font-size:12.5px; color:var(--ink-2); border:1px solid var(--line-2); background:rgba(255,255,255,.03); padding:6px 13px; border-radius:8px; }

.mac-tc{ border:1px solid var(--line); border-radius:13px; padding:16px 18px; background:rgba(255,255,255,.018); display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.mac-tc .k{ font-family:var(--font-m); font-size:10px; letter-spacing:.24em; text-transform:uppercase; color:var(--ink-faint); text-align:center; }
.mac-tc .clk{ font-family:var(--font-d); font-size:27px; font-weight:600; font-variant-numeric:tabular-nums; text-align:center; letter-spacing:-0.01em; margin:6px 0; }
.mac-tc .clk.on{ color:#f4f7fa; }
.mac-tc .clk.mtc{ color:var(--cyan); text-shadow:0 0 24px rgba(47,231,224,.3); }
.mac-tc .meta{ display:flex; gap:6px; justify-content:center; align-items:center; flex-wrap:nowrap; }
.mac-badge{ font-family:var(--font-m); font-size:9.5px; letter-spacing:.04em; padding:3px 8px; border-radius:999px; border:1px solid; white-space:nowrap; }
.mac-badge.green{ color:var(--green); border-color:rgba(52,211,153,.4); background:rgba(52,211,153,.07); }
.mac-badge.cyan{ color:var(--cyan); border-color:rgba(47,231,224,.4); background:rgba(47,231,224,.07); }
.mac-fps{ font-family:var(--font-m); font-size:11px; color:var(--ink-dim); white-space:nowrap; }
.mac-tc .sub{ font-family:var(--font-m); font-size:11px; color:var(--ink-faint); text-align:center; }

.mac-field{ margin-top:14px; }
.mac-field .lab{ display:flex; align-items:center; gap:7px; font-size:12px; color:var(--ink-dim); margin-bottom:7px; }
.mac-select{ display:flex; align-items:center; justify-content:space-between; gap:10px; background:#0a0d12; border:1px solid var(--line); border-radius:9px; padding:11px 13px; font-size:13px; color:var(--ink-2); }
.mac-select .chev{ color:var(--ink-faint); }

.mac-slider{ margin-top:16px; }
.mac-slider .lab{ font-size:12px; color:var(--ink-dim); margin-bottom:9px; }
.mac-track{ height:6px; border-radius:6px; background:#0a0d12; position:relative; }
.mac-track > i{ position:absolute; inset:0 0 0 0; width:96%; border-radius:6px; background:linear-gradient(90deg,#2f6bf7,#5b8cff); }
.mac-track .knob{ position:absolute; right:0; top:50%; transform:translate(40%,-50%); width:18px; height:18px; border-radius:50%; background:#f4f7fa; box-shadow:0 2px 8px rgba(0,0,0,.5); }

.mac-stop{ width:100%; margin-top:20px; padding:14px; border:0; border-radius:11px; background:#f0473e; color:#fff; font-size:14px; font-weight:600; display:flex; align-items:center; justify-content:center; gap:9px; }
.mac-stop .sq{ width:11px; height:11px; background:#fff; border-radius:2px; }

/* stakeholder fanout */
.fanout{ width:100%; }
.fanout-node{
  display:flex; align-items:center; gap:14px; padding:15px 18px; border-radius:14px;
  border:1px solid rgba(47,231,224,.32); background:linear-gradient(100deg, rgba(47,231,224,.08), rgba(139,92,246,.05));
}
.fanout-node .t{ width:42px; height:42px; flex:none; border-radius:11px; display:flex; align-items:center; justify-content:center; font-family:var(--font-d); font-weight:700; font-size:20px; color:#04201e; background:var(--cyan); box-shadow:0 0 22px rgba(47,231,224,.5); }
.fanout-node .lab{ font-family:var(--font-m); font-size:10.5px; letter-spacing:.22em; text-transform:uppercase; color:var(--ink-dim); white-space:nowrap; }
.fanout-node .clk{ font-family:var(--font-d); font-size:21px; font-weight:600; color:var(--cyan); font-variant-numeric:tabular-nums; margin-top:2px; }
.fanout-spine{ width:1px; height:18px; background:var(--line-2); margin:0 0 0 38px; }

.fanout-list{ display:flex; flex-direction:column; gap:9px; }
.fanout-row{
  display:flex; align-items:center; gap:13px; padding:13px 16px; border-radius:12px;
  border:1px solid var(--line); background:rgba(255,255,255,.02); position:relative;
}
.fanout-row::before{ content:""; position:absolute; left:38px; top:-9px; width:1px; height:9px; background:var(--line-2); }
.fanout-row .ic{ width:34px; height:34px; flex:none; border-radius:9px; border:1px solid var(--line-2); background:rgba(255,255,255,.03); display:flex; align-items:center; justify-content:center; font-size:15px; }
.fanout-row .who{ font-size:14px; font-weight:600; color:var(--ink); white-space:nowrap; }
.fanout-row .how{ font-family:var(--font-m); font-size:11px; color:var(--ink-faint); margin-top:2px; white-space:nowrap; }
.fanout-row .sync{ margin-left:auto; display:flex; align-items:center; gap:7px; font-family:var(--font-m); font-size:11px; color:var(--green); white-space:nowrap; }
.fanout-row .sync .d{ width:7px; height:7px; border-radius:50%; background:var(--green); box-shadow:0 0 8px var(--green); animation:pulse 1.8s infinite; }
.fanout-row.muted-row .sync{ color:var(--ink-dim); }
.fanout-row.muted-row .sync .d{ background:var(--cyan); box-shadow:0 0 8px var(--cyan); }
