/* JARVIS life site — regular pages, cosmic skies. Prototype, fictional data. */
@property --s1{syntax:'<color>';inherits:true;initial-value:#17144C}
@property --s2{syntax:'<color>';inherits:true;initial-value:#0B1946}
@property --s3{syntax:'<color>';inherits:true;initial-value:#04081A}
@property --a{syntax:'<color>';inherits:true;initial-value:#8DB6FF}
@property --a2{syntax:'<color>';inherits:true;initial-value:#6FD0FF}

:root{
  --ink:#F1F4FF;--ink-2:#C9D1E8;--muted:#9AA6C4;--faint:#6E7A9A;
  --line:rgba(200,212,255,.14);--line-2:rgba(200,212,255,.24);
  --card:rgba(5,8,20,.74);--card-2:rgba(10,14,32,.86);
  --display:'Barlow Condensed','Arial Narrow',sans-serif;--body:'Instrument Sans',system-ui,-apple-system,sans-serif;
  --sean:#8DB6FF;--becky:#FF7FC8;--owen:#5CD6FF;--millie:#FFC34D;
  --good:#7FE0C4;--warn:#FFC15E;--bad:#FF7A8A;
  --navH:0px;--navW:0px;
  color-scheme:dark;
  transition:--s1 .9s ease,--s2 .9s ease,--s3 .9s ease,--a .6s ease,--a2 .6s ease;
}
/* one sky per section */
html[data-page=jarvis]{--s1:#1A1856;--s2:#0B1946;--s3:#04081A;--a:#8DB6FF;--a2:#6FD0FF}
html[data-page=poppins]{--s1:#86386C;--s2:#3F2058;--s3:#14091F;--a:#FFB3C8;--a2:#FFD27A}
html[data-page=relationship]{--s1:#74247E;--s2:#3A1260;--s3:#10061F;--a:#FF8AD0;--a2:#C9B8FF}
html[data-page=mentor]{--s1:#7A4C14;--s2:#2D2040;--s3:#0A0912;--a:#FFB347;--a2:#FFE2A8}
html[data-page=concierge]{--s1:#806634;--s2:#3E3042;--s3:#140F1A;--a:#F3D28A;--a2:#FFA877}
html[data-page=steward]{--s1:#1D3D66;--s2:#0E2038;--s3:#040912;--a:#A9C8F0;--a2:#FFC15E}
html[data-page=work]{--s1:#5A3018;--s2:#26141A;--s3:#0A0608;--a:#FF8A4C;--a2:#FFD0A0}
html[data-page=friends]{--s1:#7E3410;--s2:#361510;--s3:#0E0606;--a:#FFA552;--a2:#FFE08A}

*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html{background:#03060F;scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;min-height:100vh;color:var(--ink);font:400 16px/1.5 var(--body);background:transparent;overflow-x:hidden}
button,input,textarea{font:inherit;color:inherit}
button{cursor:pointer}
a{color:inherit}
:focus-visible{outline:2px solid var(--a);outline-offset:2px}
.sky{position:fixed;inset:0;z-index:-3;background:
  radial-gradient(110% 60% at 78% -4%,var(--s1) 0%,transparent 62%),
  radial-gradient(90% 70% at 10% 30%,color-mix(in srgb,var(--s2) 70%,transparent) 0%,transparent 70%),
  linear-gradient(180deg,var(--s2) 0%,var(--s3) 55%,#03060F 100%)}
.stars{position:fixed;inset:0;width:100%;height:100%;z-index:-2;pointer-events:none}
.skyline{position:fixed;left:0;right:0;bottom:var(--navH);width:100%;height:120px;z-index:-1;fill:#14091F;opacity:0;transition:opacity .9s;pointer-events:none}
html[data-page=poppins] .skyline{opacity:.75}

/* ---------- navigation: bottom tab bar on phones, rail/sidebar on wide ---------- */
.nav{position:fixed;z-index:40;display:flex;background:linear-gradient(180deg,rgba(6,9,24,.9),rgba(3,5,14,.97));backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
.nav-brand,.nav-note{display:none}
.ni{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-width:0;border:1px solid transparent;border-radius:12px;background:none;color:var(--c);text-decoration:none;padding:4px 0}
.ni svg{width:26px;height:26px;flex:none;display:block}
.ni .nl{font:600 11px/1 var(--display);letter-spacing:.03em;color:var(--ink-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.ni .ns{display:none}
.ni[aria-current=page]{background:rgba(255,255,255,.07);border-color:color-mix(in srgb,var(--c) 70%,transparent);box-shadow:0 0 16px -4px var(--c)}
.ni[aria-current=page] .nl{color:#fff}
.ni .badge{position:absolute;top:2px;right:calc(50% - 22px);min-width:17px;height:17px;padding:0 4px;border-radius:9px;background:#FF5CB8;color:#fff;font:700 11px/17px var(--display);text-align:center;box-shadow:0 0 10px -1px #FF5CB8}
.ni .dot{position:absolute;top:4px;right:calc(50% - 18px);width:9px;height:9px;border-radius:50%;background:var(--warn);box-shadow:0 0 8px 1px var(--warn)}
.ni.more-item{display:none}

@media (max-width:700px){
  :root{--navH:calc(64px + env(safe-area-inset-bottom))}
  .nav{left:0;right:0;bottom:0;height:var(--navH);padding:5px 4px calc(5px + env(safe-area-inset-bottom));gap:2px;border-top:1px solid var(--line-2)}
  .ni{flex:1 1 0}
  .ni.in-more{display:none}
  .ni.more-btn{display:flex}
  .more-sheet{position:fixed;z-index:45;right:8px;bottom:calc(var(--navH) + 8px);display:none;flex-direction:column;gap:6px;min-width:220px;padding:8px;background:rgba(8,12,30,.98);border:1px solid var(--line-2);border-radius:16px;box-shadow:0 14px 44px rgba(0,0,0,.6)}
  .more-sheet.open{display:flex}
  .more-sheet a{display:flex;align-items:center;gap:10px;padding:10px 12px;min-height:46px;border-radius:11px;background:rgba(255,255,255,.05);border:1px solid var(--line);border-left:3px solid var(--c);text-decoration:none;color:#fff;font:700 16px/1 var(--display);letter-spacing:.06em;text-transform:uppercase}
  .more-sheet a svg{width:24px;height:24px;color:var(--c)}
  .more-sheet a small{display:block;font:500 12px/1.2 var(--body);letter-spacing:0;text-transform:none;color:var(--muted);margin-top:3px}
  .more-sheet a .dot{width:9px;height:9px;border-radius:50%;background:var(--warn);margin-left:auto}
}
@media (min-width:520px) and (max-width:700px){
  .ni.in-more{display:flex}
  .ni.more-btn{display:none}
}
@media (max-width:519px){ .ni.more-btn{display:flex} }
@media (min-width:701px){
  .ni.more-btn{display:none}
  .more-sheet{display:none!important}
  :root{--navW:96px}
  .nav{left:0;top:0;bottom:0;width:var(--navW);flex-direction:column;gap:6px;padding:14px 8px;border-right:1px solid var(--line-2);overflow-y:auto}
  .ni{flex:none;height:64px}
  .ni .nl{font-size:12px}
}
@media (min-width:1024px){
  :root{--navW:244px}
  .nav{padding:20px 14px;gap:4px}
  .nav-brand{display:block;font:700 15px/1 var(--display);letter-spacing:.22em;text-transform:uppercase;color:#CFE0FF;padding:4px 10px 6px}
  .nav-note{display:block;margin:2px 10px 14px;font:700 11px/1.3 var(--display);letter-spacing:.14em;text-transform:uppercase;color:#FFD9A0}
  .ni{flex-direction:row;justify-content:flex-start;gap:12px;height:auto;min-height:54px;padding:8px 10px;text-align:left}
  .ni .nl{font:700 17px/1 var(--display);letter-spacing:.06em;text-transform:uppercase}
  .ni .ns{display:block;font:500 12px/1.25 var(--body);color:var(--muted);margin-top:3px;white-space:normal}
  .ni .nt{display:flex;flex-direction:column;min-width:0}
  .ni .badge{position:static;margin-left:auto}
  .ni .dot{position:static;margin-left:auto}
}

/* ---------- page frame ---------- */
main{display:block;padding:0 0 calc(var(--navH) + 28px) var(--navW);min-height:100vh;outline:none}
.page{position:relative;max-width:820px;margin:0 auto;padding:0 16px}
.page[hidden]{display:none}
.art{position:absolute;top:0;left:0;right:0;height:250px;width:100%;pointer-events:none;z-index:0;display:block}
.art-fade{position:absolute;top:0;left:0;right:0;height:250px;pointer-events:none;z-index:0;background:linear-gradient(90deg,rgba(3,6,15,.55) 0%,rgba(3,6,15,.15) 55%,rgba(3,6,15,0) 80%),linear-gradient(180deg,transparent 60%,rgba(3,6,15,.25))}
.head{position:relative;z-index:1;padding:22px 0 10px;min-height:190px}
.kick{display:flex;flex-wrap:wrap;gap:6px 10px;align-items:center;font:700 12px/1.2 var(--display);letter-spacing:.16em;text-transform:uppercase;color:var(--a)}
.kick .sample{color:#FFD9A0;background:rgba(60,34,8,.62);border:1px solid rgba(255,194,71,.45);padding:3px 8px;border-radius:99px;letter-spacing:.12em}
.head h1{margin:10px 0 6px;font:700 46px/.92 var(--display);letter-spacing:.01em;text-transform:uppercase;text-shadow:0 2px 18px rgba(0,0,0,.6),0 0 2px rgba(0,0,0,.8);max-width:62%}
.head .status{margin:0;max-width:58%;font:500 16px/1.42 var(--body);color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.9),0 0 14px rgba(0,0,0,.7)}
.jumps{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0 0}
.jumps button{font:700 13px/1 var(--display);letter-spacing:.1em;text-transform:uppercase;color:#fff;background:var(--card-2);border:1px solid var(--line-2);border-left:3px solid var(--c,var(--a));border-radius:99px;padding:9px 13px;min-height:38px}
.blocks{position:relative;z-index:1;display:flex;flex-direction:column;gap:14px}
@media (max-width:420px){.head h1{font-size:40px;max-width:66%}.head .status{max-width:56%;font-size:15px}}
@media (min-width:701px){.page{padding:0 28px}.art,.art-fade{height:300px}.head{padding-top:36px;min-height:240px}.head h1{font-size:58px}}
@media (min-width:1200px){
  .page{display:grid;grid-template-columns:minmax(0,1fr) 340px;column-gap:36px;max-width:1180px;align-items:start}
  .art{position:sticky;top:0;grid-column:2;grid-row:1/span 3;height:100vh;height:100dvh}
  .art-fade{display:none}
  .head,.blocks,.page>.after{grid-column:1}
  .head h1,.head .status{max-width:none}
}

/* ---------- blocks ---------- */
.card{position:relative;background:var(--card);border:1px solid var(--line);border-radius:18px;padding:16px;backdrop-filter:blur(14px) saturate(1.2);-webkit-backdrop-filter:blur(14px) saturate(1.2);box-shadow:0 10px 30px -18px rgba(0,0,0,.8)}
.card.accent{border-top:2px solid var(--c,var(--a))}
.bk{display:flex;align-items:center;gap:8px;font:700 12px/1.2 var(--display);letter-spacing:.18em;text-transform:uppercase;color:var(--a);margin:0 0 8px}
.bk .tag{margin-left:auto;font-size:11px;letter-spacing:.12em;color:var(--muted)}
.card h2{margin:0 0 4px;font:700 26px/1 var(--display);text-transform:uppercase;letter-spacing:.01em}
.card h3{margin:0 0 4px;font:700 19px/1.1 var(--display);text-transform:uppercase;letter-spacing:.02em}
.card p{margin:0 0 8px;color:var(--ink-2);line-height:1.5}
.sub{font-size:14px;color:var(--muted);margin:0 0 10px}
.src{display:inline-flex;align-items:center;gap:5px;margin:2px 0 0;padding:2px 0;background:none;border:0;border-bottom:1px dotted rgba(200,212,255,.45);color:var(--muted);font:500 12.5px/1.35 var(--body);text-align:left;cursor:pointer}
.src::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--a);opacity:.85;flex:none}
.src:hover{color:#fff}
.src.short{font-size:12px;margin-top:4px}
.who{display:inline-flex;gap:4px;align-items:center;margin-right:6px}
.who i{width:9px;height:9px;border-radius:50%;background:var(--c);box-shadow:0 0 7px var(--c)}
.pill{display:inline-block;font:700 11px/1 var(--display);letter-spacing:.12em;text-transform:uppercase;padding:4px 8px;border-radius:99px;border:1px solid currentColor}
.pill.pending{color:#D9CCFF;border-style:dashed}
.pill.conflict{color:var(--warn)}
.pill.confirmed{color:#B8D4FF;border-color:rgba(184,212,255,.4)}
.pill.waiting{color:#C9D1E8;border-color:rgba(201,209,232,.4)}
.pill.owed{color:#FF9FCF}
.pill.done,.pill.kept{color:var(--good)}
.pill.slipped{color:var(--bad)}

/* stats row */
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}
.stat{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:12px 14px;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
.stat .l{font:700 12px/1.2 var(--display);letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.stat .v{font:700 36px/1 var(--display);margin:6px 0 2px;color:#fff}
.stat .v small{font-size:18px;color:var(--ink-2);margin-left:3px}
.stat .d{font:600 13px/1.3 var(--body);color:var(--ink-2)}
.stat .d.up{color:#FFC6E6}.stat .d.down{color:#A8F0DA}
@media (max-width:520px){.stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.stat{padding:10px 10px;border-radius:14px}.stat .l{font-size:11px;letter-spacing:.1em}.stat .v{font-size:28px}.stat .v small{font-size:14px}.stat .d{font-size:12.5px}}

/* lists */
.rows{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}
.rows>li{display:grid;grid-template-columns:auto 1fr;gap:4px 12px;padding:11px 0;border-top:1px solid var(--line)}
.rows>li:first-child{border-top:0;padding-top:4px}
.rows .when{font:700 14px/1.15 var(--display);letter-spacing:.06em;text-transform:uppercase;color:var(--a2);min-width:74px;padding-top:2px}
.rows .t{font:600 16px/1.3 var(--body);color:#fff}
.rows .n{font-size:14px;color:var(--ink-2);margin-top:2px}
.rows .meta{display:flex;flex-wrap:wrap;gap:6px 10px;align-items:center;margin-top:4px}
.rows li.pending .t{color:#E4DCFF}
.rows li.pending{background:linear-gradient(90deg,rgba(201,184,255,.06),transparent)}
.rows li.conflict .when{color:var(--warn)}
.rows .ic{width:10px;height:10px;border-radius:50%;margin-top:6px;background:var(--c,var(--a));box-shadow:0 0 9px var(--c,var(--a))}
.rows .ic.warn{--c:var(--warn)}.rows .ic.up{--c:#FF9FCF}.rows .ic.down{--c:var(--good)}.rows .ic.info{--c:var(--a)}
.lines{margin:0;padding:0;list-style:none}
.lines li{padding:7px 0;border-top:1px solid var(--line);color:var(--ink);line-height:1.45}
.lines li:first-child{border-top:0}
.lines li .src{margin-left:2px}
.note{font-size:13.5px;color:var(--muted);margin:8px 0 0}

/* nights strip */
.nights{display:grid;grid-template-columns:repeat(7,1fr);gap:5px;margin:6px 0 8px}
.nights div{border-radius:9px;padding:7px 2px;text-align:center;font:700 12px/1.1 var(--display);letter-spacing:.06em;text-transform:uppercase;border:1px solid var(--line)}
.nights .sean{background:rgba(141,182,255,.22);border-color:rgba(141,182,255,.55);color:#fff}
.nights .other{background:rgba(255,255,255,.03);color:var(--muted)}
.nights .today{box-shadow:0 0 0 2px var(--a2)}
.nights small{display:block;font:500 10.5px/1.2 var(--body);letter-spacing:0;text-transform:none;margin-top:3px}
.legend{display:flex;flex-wrap:wrap;gap:12px;font-size:13px;color:var(--ink-2)}
.legend i{display:inline-block;width:11px;height:11px;border-radius:3px;margin-right:6px;vertical-align:-1px}

/* gauge */
.gauge{position:relative;height:18px;border-radius:9px;background:rgba(255,255,255,.07);overflow:hidden;margin:12px 0 6px}
.gauge .fill{position:absolute;left:0;top:0;bottom:0;border-radius:9px;background:linear-gradient(90deg,color-mix(in srgb,var(--a) 60%,transparent),var(--a))}
.gauge .pace{position:absolute;top:-4px;bottom:-4px;width:2px;background:#fff;box-shadow:0 0 6px #fff}
.gscale{display:flex;justify-content:space-between;font:600 12px/1 var(--display);letter-spacing:.08em;color:var(--muted);text-transform:uppercase}
.big{font:700 44px/1 var(--display);color:#fff}
.big small{font-size:20px;color:var(--ink-2)}

/* clocks */
.clocks{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}
.clock{border:1px solid var(--line);border-radius:14px;padding:10px 12px;background:rgba(255,255,255,.03)}
.clock .cn{font:700 14px/1.1 var(--display);letter-spacing:.06em;text-transform:uppercase;color:#fff}
.clock .cd{font:700 26px/1 var(--display);margin:6px 0 4px}
.clock .cd small{font-size:14px;color:var(--muted)}
.clock .bar{height:6px;border-radius:3px;background:rgba(255,255,255,.08);overflow:hidden;margin-bottom:6px}
.clock .bar i{display:block;height:100%;background:var(--a);border-radius:3px}
.clock.soon{border-color:color-mix(in srgb,var(--warn) 55%,transparent)}
.clock.soon .cd{color:var(--warn)}.clock.soon .bar i{background:var(--warn)}

/* section header (Mentor's specialists) */
.secthead{display:grid;grid-template-columns:76px 1fr;gap:14px;align-items:center;margin-top:16px;padding:14px;border-radius:18px;background:linear-gradient(90deg,color-mix(in srgb,var(--c) 18%,rgba(5,8,20,.8)),rgba(5,8,20,.72));border:1px solid color-mix(in srgb,var(--c) 40%,transparent)}
.secthead canvas{width:76px;height:76px;display:block}
.secthead h2{margin:0;font:700 28px/1 var(--display);text-transform:uppercase;color:#fff}
.secthead p{margin:4px 0 0;font-size:14.5px;color:var(--ink-2)}
.secthead .bk{color:var(--c);margin:0 0 4px}

/* ideas */
.ideas{display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(230px,1fr))}
.idea{border:1px dashed var(--line-2);border-radius:14px;padding:12px;background:rgba(255,255,255,.02)}
.idea b{display:block;font:700 17px/1.15 var(--display);text-transform:uppercase;letter-spacing:.03em;margin-bottom:4px}
.idea p{font-size:14px;margin:0 0 6px}
.chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}
.chip{font:700 12px/1 var(--display);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-2);background:rgba(255,255,255,.05);border:1px solid var(--line-2);border-radius:99px;padding:8px 11px;min-height:34px}
.chip:hover{color:#fff;border-color:var(--a)}

/* people */
.people{display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}
.person{display:grid;grid-template-columns:42px 1fr;gap:10px;align-items:start;border:1px solid var(--line);border-radius:14px;padding:10px 12px;background:rgba(255,255,255,.03)}
.person .av{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;font:700 16px var(--display);color:#1a0c04;background:radial-gradient(circle at 35% 30%,#FFF1C8,var(--c,var(--a)))}
.person b{font:700 16px/1.1 var(--display);letter-spacing:.04em;text-transform:uppercase}
.person p{font-size:13.5px;margin:2px 0}
.person .ago{font:700 12px/1 var(--display);letter-spacing:.1em;text-transform:uppercase;color:var(--a2)}
.person.overdue .ago{color:var(--warn)}

/* message excerpt — inert by construction */
.msg{border-left:3px solid var(--line-2);padding:8px 12px;margin:6px 0;background:rgba(255,255,255,.03);border-radius:0 10px 10px 0;font-size:15px;color:var(--ink);white-space:pre-wrap;overflow-wrap:anywhere}
.inert{display:flex;gap:8px;align-items:flex-start;font-size:13px;color:#BFE7D9;margin-top:6px}
.inert::before{content:"";flex:none;width:12px;height:12px;margin-top:3px;border-radius:3px;border:2px solid #7FE0C4}

/* charts */
.chart{position:relative;margin:4px 0 2px}
.chart svg{display:block;width:100%;overflow:visible}
.chart text{font-family:var(--display);font-weight:600;fill:#B9C3DD;letter-spacing:.04em}
.chart .tip{position:absolute;pointer-events:none;transform:translate(-50%,-100%);background:rgba(4,6,16,.96);border:1px solid var(--line-2);border-radius:10px;padding:6px 9px;font:500 13px/1.3 var(--body);color:#fff;white-space:nowrap;opacity:0;transition:opacity .12s}
.chart .tip b{display:block;font:700 12px/1.1 var(--display);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.chart .tip.on{opacity:1}
.ph{display:inline-block;font:700 11px/1 var(--display);letter-spacing:.14em;text-transform:uppercase;color:#FFD9A0;border:1px dashed rgba(255,194,71,.6);border-radius:99px;padding:4px 8px;margin-left:auto}
.facts{display:grid;grid-template-columns:auto 1fr;gap:3px 10px;font-size:13px;color:var(--ink-2);margin:10px 0 2px}
.facts dt{font:700 12px/1.4 var(--display);letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.facts dd{margin:0}
details.tbl{margin-top:8px;font-size:13.5px}
details.tbl summary{cursor:pointer;color:var(--muted);font:700 12px/1.6 var(--display);letter-spacing:.12em;text-transform:uppercase}
details.tbl .tw{overflow-x:auto;max-width:100%}
details.tbl table{border-collapse:collapse;margin-top:6px;min-width:100%}
details.tbl th,details.tbl td{padding:4px 10px 4px 0;text-align:left;border-bottom:1px solid var(--line);white-space:nowrap}

/* ---------- approvals ---------- */
.ap{border:1px solid color-mix(in srgb,var(--c) 55%,transparent);border-left:4px solid var(--c);background:linear-gradient(180deg,color-mix(in srgb,var(--c) 12%,rgba(6,9,22,.86)),rgba(6,9,22,.86));box-shadow:0 0 26px -14px var(--c)}
.ap .bk{color:var(--c)}
.ap .bk .live{width:9px;height:9px;border-radius:50%;background:var(--c);box-shadow:0 0 9px 2px var(--c);animation:pulse 1.8s ease-in-out infinite}
.ap .ctx{font-size:15px;color:var(--ink-2);margin:4px 0 10px}
.ap .exp{font:600 13px/1.3 var(--body);color:#FFD9A0;margin:-4px 0 10px}
.draft{position:relative;background:rgba(0,0,0,.32);border:1px solid var(--line-2);border-radius:12px;padding:10px 12px;margin:0 0 10px;font-size:15px;line-height:1.45;white-space:pre-wrap;overflow-wrap:anywhere}
.draft[contenteditable=true]{outline:2px solid var(--c);background:rgba(0,0,0,.5)}
.draft-h{display:flex;justify-content:space-between;align-items:center;font:700 11px/1 var(--display);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin:0 0 5px}
.draft-h button{font:inherit;letter-spacing:inherit;color:var(--ink-2);background:none;border:1px solid var(--line-2);border-radius:99px;padding:5px 9px}
.answer{display:flex;gap:8px;align-items:stretch}
.answer textarea{flex:1;min-width:0;min-height:52px;resize:none;background:rgba(0,0,0,.42);border:1px solid var(--line-2);border-radius:12px;padding:12px;font:500 16px/1.35 var(--body);color:#fff;outline:none}
.answer textarea:focus{border-color:var(--c);box-shadow:0 0 0 3px color-mix(in srgb,var(--c) 25%,transparent)}
.answer .send{display:none;flex:none;width:80px;border:0;border-radius:12px;background:linear-gradient(160deg,#5B95FF,#A08BFF);color:#fff;font:700 18px var(--display);letter-spacing:.12em;text-transform:uppercase}
.ap.typing .answer .send{display:block}
.ap.typing .shorts{display:none}
.will{display:none;margin:8px 0 0;font-size:14px;color:#fff;background:rgba(255,255,255,.05);border-radius:10px;padding:8px 10px}
.ap.typing .will{display:block}
.will b{font:700 11px/1 var(--display);letter-spacing:.14em;text-transform:uppercase;color:var(--c);display:block;margin-bottom:3px}
.shorts{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.act{font:700 14px/1.15 var(--display);letter-spacing:.07em;text-transform:uppercase;color:#fff;background:rgba(255,255,255,.06);border:1px solid var(--line-2);border-radius:12px;padding:10px 13px;min-height:44px;text-align:left}
.act.pri{background:color-mix(in srgb,var(--c) 30%,transparent);border-color:var(--c)}
.act small{display:block;font:500 12.5px/1.25 var(--body);letter-spacing:0;text-transform:none;color:var(--ink-2);margin-top:3px}
.opts{display:grid;gap:8px;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));margin:0 0 10px}
.opts .act{width:100%}
.confirm{margin-top:10px;padding:12px;border-radius:12px;border:1px solid var(--warn);background:rgba(255,193,94,.08)}
.confirm p{color:#fff;margin:0 0 10px}
.receipt{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:center;margin-top:4px}
.receipt .ok{font:700 16px/1.2 var(--display);letter-spacing:.06em;text-transform:uppercase;color:var(--good)}
.receipt p{flex-basis:100%;margin:0;font-size:14px}
.ap.done{border-left-color:var(--good);box-shadow:none;background:var(--card)}
.ap.done .bk .live{animation:none;background:var(--good);box-shadow:none}
.qback{margin-top:8px;font-size:14px;color:#fff;background:rgba(160,139,255,.12);border:1px solid rgba(160,139,255,.4);border-radius:10px;padding:8px 10px}

/* ask */
.ask form{display:flex;gap:8px;align-items:center;background:rgba(0,0,0,.38);border:1px solid var(--line-2);border-radius:99px;padding:5px 5px 5px 16px}
.ask input{flex:1;min-width:0;border:0;background:none;outline:none;font:500 16px var(--body);color:#fff;padding:8px 0}
.ask input::placeholder{color:var(--muted)}
.ask form button{flex:none;border:0;border-radius:99px;height:40px;padding:0 18px;background:linear-gradient(135deg,#4D8DFF,#A08BFF);color:#fff;font:700 15px var(--display);letter-spacing:.12em;text-transform:uppercase}
.ask .echo{font-size:14px;color:var(--ink-2);margin:8px 2px 0}
.ask .chips{margin-top:10px}
.ask .scripted{font:600 11px/1.3 var(--display);letter-spacing:.14em;text-transform:uppercase;color:var(--faint);margin:8px 2px 0}

/* standup */
.standup{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.standup li{display:grid;grid-template-columns:34px 1fr;gap:10px;align-items:start;padding:8px 0;border-top:1px solid var(--line)}
.standup li:first-child{border-top:0}
.standup svg{width:30px;height:30px;color:var(--c)}
.standup b{font:700 14px/1 var(--display);letter-spacing:.12em;text-transform:uppercase;color:var(--c)}
.standup p{margin:2px 0 0;color:var(--ink);font-size:15px}

/* JARVIS tools */
.simbar{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:12px 0 0}
.simbar button{font:700 12px/1 var(--display);letter-spacing:.08em;text-transform:uppercase;color:#FFE3B8;background:rgba(60,34,8,.6);border:1px dashed rgba(255,194,71,.55);border-radius:99px;padding:8px 10px;min-height:34px}
.simbar .lbl{font:700 11px/1 var(--display);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-right:2px}
.after{position:relative;z-index:1;margin-top:18px}
.specpanel summary{cursor:pointer;font:700 13px/1.4 var(--display);letter-spacing:.14em;text-transform:uppercase;color:var(--a)}
.specpanel pre{margin:8px 0;max-height:280px;overflow:auto;background:rgba(0,0,0,.45);border:1px solid var(--line);border-radius:10px;padding:10px;font:12px/1.45 ui-monospace,SFMono-Regular,Menlo,monospace;color:#CFE0FF;white-space:pre}
.log{list-style:none;margin:6px 0;padding:0;font-size:13.5px}
.log li{padding:5px 0;border-top:1px solid var(--line);color:var(--ink-2)}
.log li.ok b{color:var(--good)}.log li.no b{color:var(--bad)}.log li.fix b{color:var(--warn)}
.foot{margin:26px 0 0;text-align:center;font:600 12px/1.5 var(--display);letter-spacing:.14em;text-transform:uppercase;color:var(--faint)}

/* arrival + change highlights */
.arrived{animation:arrive 2.2s ease-out}
.changed-flash{animation:flash 1.6s ease-out}
@keyframes arrive{0%{box-shadow:0 0 0 2px var(--a2),0 0 40px 4px color-mix(in srgb,var(--a2) 60%,transparent)}100%{box-shadow:0 10px 30px -18px rgba(0,0,0,.8)}}
@keyframes flash{0%{border-color:var(--a2)}100%{}}
@keyframes pulse{50%{opacity:.45}}
.blk{scroll-margin-top:14px}
.ghost{position:absolute;left:0;right:0;pointer-events:none;z-index:0}

/* source sheet */
.sheet-back{position:fixed;inset:0;z-index:60;background:rgba(0,0,0,.55)}
.sheet{position:fixed;z-index:61;left:50%;bottom:0;transform:translateX(-50%);width:min(560px,100%);max-height:80vh;overflow:auto;background:linear-gradient(180deg,#141C3A,#080C1E);border:1px solid var(--line-2);border-bottom:0;border-radius:20px 20px 0 0;padding:16px 18px calc(22px + env(safe-area-inset-bottom));box-shadow:0 -20px 60px rgba(0,0,0,.6)}
.sheet .x{position:absolute;top:10px;right:10px;width:40px;height:40px;border-radius:50%;border:0;background:rgba(255,255,255,.08);font-size:22px;line-height:1;color:#fff}
.sheet h2{margin:6px 44px 4px 0;font:700 26px/1.05 var(--display);text-transform:uppercase}
.sheet .fict{font:700 11px/1.3 var(--display);letter-spacing:.14em;text-transform:uppercase;color:#FFD9A0}
.sheet dl{display:grid;grid-template-columns:auto 1fr;gap:4px 12px;font-size:14px;margin:10px 0}
.sheet dt{font:700 12px/1.5 var(--display);letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.sheet dd{margin:0;color:var(--ink)}
@media (min-width:701px){.sheet{bottom:auto;top:50%;transform:translate(-50%,-50%);border-radius:20px;border-bottom:1px solid var(--line-2);left:calc(50% + var(--navW)/2)}}

.toast{position:fixed;z-index:70;left:calc(50% + var(--navW)/2);bottom:calc(var(--navH) + 18px);transform:translate(-50%,10px);opacity:0;pointer-events:none;background:rgba(8,12,30,.96);border:1px solid var(--line-2);border-radius:99px;padding:10px 16px;font:700 14px/1.2 var(--display);letter-spacing:.1em;text-transform:uppercase;color:#fff;transition:opacity .2s,transform .2s;max-width:calc(100% - 32px);text-align:center}
.toast.show{opacity:1;transform:translate(-50%,0)}

@media (prefers-reduced-motion:reduce){
  :root{transition:none}
  html{scroll-behavior:auto}
  .skyline,.toast,.chart .tip{transition:none}
  .arrived,.changed-flash,.ap .bk .live{animation:none}
  .arrived{box-shadow:0 0 0 2px var(--a2)}
}
