/* Mercury, Sept 4. Tokens and shell roles taken from STANDARD_weekend_app.html.
   Existing Mercury flows and media surfaces remain; this pass fixes contrast,
   mobile containment and consistent controls inside that accepted system. */
:root{
  --navy:#0A2351;--navy-deep:#061838;--gold:#FFC52F;--gold-deep:#B6922E;
  --columbia:#78B4D6;--columbia-deep:#4D8CB3;--columbia-tint:#E8F1F8;
  --page:#F3E8CF;--cream:#FDF6E3;--card:#FFFFFF;--charcoal:#1C1C1C;
  --slate:#2C3E5A;--smoke:#66738A;--green:#1E7A3C;--red:#C0272D;--t-blue:#1E5AA8;
  --font-body:'Helvetica Neue','Helvetica','Inter',Arial,sans-serif;
  --font-display:'Oswald','Helvetica Neue Condensed','Arial Narrow',sans-serif;
  --font-mono:'JetBrains Mono','Courier New',monospace;
  --bg:var(--page);--void:var(--page);--panel:var(--card);--panel2:var(--card);
  --ink:var(--charcoal);--dim:var(--slate);--line:rgba(10,35,81,.38);
  --cyan:var(--navy);--magenta:var(--navy);--bubble:var(--card);--me:var(--cream);
  --glow-m:none;--glow-c:none;--mono:var(--font-body);--sans:var(--font-body);
}
[hidden]{display:none!important}
html,body{width:100%;max-width:100vw;overflow-x:hidden;background:var(--page);color:var(--charcoal);font:16px/1.5 var(--font-body);-webkit-text-size-adjust:100%}
body{background:var(--page);box-shadow:0 0 0 1px var(--line)}
button,a,input,textarea,select{touch-action:manipulation}
button,input,textarea,select{font-family:var(--font-body);font-size:16px}
button{color:var(--navy);cursor:pointer}
button:disabled{opacity:.45;cursor:default}
:is(button,a,input,textarea,select,summary):focus-visible{outline:3px solid var(--t-blue)!important;outline-offset:3px;box-shadow:none!important}
a{color:var(--navy)}
.screen,.picker-body,.feed,.composer,.split-pane,.split-panel,.person-card,.app-card,.hub-section,.hub-section-body{min-width:0;max-width:100%}
.screen{background:var(--page)}
#screen-picker header,#screen-chat header,#screen-split header{background:var(--navy);color:var(--cream);border-bottom:3px solid var(--gold);box-shadow:none;backdrop-filter:none}
#screen-picker header{padding:10px 16px 12px}
#screen-picker .nav-row{display:grid;grid-template-columns:repeat(5,minmax(44px,1fr));gap:8px;max-width:570px;margin:auto}
.brand-lockup{grid-column:1/-1;grid-row:1;justify-content:center;margin:0;gap:12px;padding:2px 0 8px}
.brand-lockup b{font:800 24px/1.2 var(--font-display);letter-spacing:.12em;color:var(--cream)}
.brand-lockup span{font-size:12px;letter-spacing:.08em;color:var(--gold)}
.nav button,.btn-touch,.btn-save{background:var(--card);border:2px solid var(--navy);border-radius:10px;color:var(--navy);box-shadow:none;min-width:44px;min-height:44px;height:44px;padding:0 10px;font-size:21px}
.nav button.edit-toggle{font-size:15px;font-weight:800;letter-spacing:0;text-transform:none}
.nav button.edit-toggle.on{background:var(--gold);border-color:var(--gold);color:var(--navy);box-shadow:none}
.picker-body{padding:14px 16px 28px;scroll-behavior:smooth}
.health-strip{margin:0 0 14px;padding:0;gap:10px;flex-wrap:wrap;overflow:visible;color:var(--slate);font-size:14px}
.health-pill,.health-pill.gate{background:var(--cream);color:var(--navy);border:1px solid var(--navy);border-radius:6px;font-size:11px;font-weight:800;letter-spacing:.04em;padding:5px 8px}
.health-pill::before{display:none}
.hub-shortcuts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-bottom:12px}
.hub-shortcuts button{min-height:44px;border:2px solid var(--navy);border-radius:9px;background:var(--card);font-size:15px;font-weight:700;padding:6px 2px}
.hub-shortcuts button:hover{background:var(--cream)}
.picker-search{background:var(--card);border:2px solid var(--navy);border-radius:10px;min-height:50px;box-shadow:none;color:var(--charcoal);font-size:16px;padding:10px 12px}
.picker-search::placeholder{color:var(--slate)}
.talkto-row{gap:8px;margin-bottom:16px}
.talkto-btn{background:var(--cream);border:2px solid var(--navy);color:var(--navy);border-radius:10px;min-height:62px;padding:9px 4px}
.talkto-btn b{color:var(--navy);font-size:14px}
.talkto-btn span{color:var(--slate);font-size:12px}
#pickerPeople.people{grid-template-columns:minmax(0,1fr);gap:10px}
#pickerPeople .person-card{grid-column:auto!important;min-width:0}
.person-card{background:var(--card)!important;border:2px solid var(--navy)!important;border-radius:12px;min-height:76px;padding:12px 14px;gap:12px;box-shadow:none;backdrop-filter:none;overflow-wrap:anywhere}
.person-card .meta b,.person-card.size-third .meta b,.person-card.size-quarter .meta b{font:800 18px/1.25 var(--font-body)!important;color:var(--navy)!important;letter-spacing:0!important;white-space:normal!important}
.person-card .agent-badge{border:0;border-radius:0;padding:0;background:transparent;color:var(--slate);font:600 12px/1.3 var(--font-body);white-space:normal;text-transform:none;margin-top:4px}
.person-card .logo{width:42px;height:42px;font-size:22px;background:var(--cream);border-color:var(--navy);padding:3px;box-shadow:none}
.person-card[data-agent="lucy777"] .logo{border-color:var(--gold-deep);background:var(--cream);border-radius:50% 50% 8px 8px}
.person-card[data-agent="dispatch"] .logo{border-radius:8px}
.person-card[data-agent="cowork"] .logo{border-radius:50%}
.person-card[data-agent="hermes"] .logo{border-color:var(--green)}
.person-card .chev{color:var(--navy)!important;font-size:24px}
#pickerPeople .person-card.size-third,#pickerPeople .person-card.size-quarter{flex-direction:row;align-items:center;text-align:left;min-height:76px;padding:12px 14px;gap:12px}
#pickerPeople .person-card.size-third .chev,#pickerPeople .person-card.size-quarter .chev{display:block}
#pickerPeople .person-card.size-third .meta,#pickerPeople .person-card.size-quarter .meta{width:auto;flex:1}
#pickerPeople .person-card.size-third .meta b,#pickerPeople .person-card.size-quarter .meta b{text-align:left}
.person-card.reorder-selected{outline:3px solid var(--gold-deep);outline-offset:2px}
.edit-help{color:var(--navy);font-size:15px;line-height:1.5;padding:10px 0}
.reorder-controls{background:var(--cream);border:2px solid var(--navy);border-radius:10px;padding:12px;margin-bottom:16px;display:grid;gap:8px}
.reorder-controls label{font-weight:700;color:var(--navy)}
.reorder-controls select{width:100%;min-height:44px;border:1px solid var(--navy);border-radius:7px;padding:8px;background:var(--card);color:var(--navy)}
.reorder-controls>div{display:flex;gap:8px}
.reorder-controls button{flex:1;min-height:44px;border:2px solid var(--navy);border-radius:7px;background:var(--card);font-weight:700}
.hub-section{border:2px solid var(--navy);border-radius:12px;background:var(--card);box-shadow:none;margin-top:14px;scroll-margin-top:12px}
.hub-section>summary{background:var(--navy);color:var(--cream);min-height:58px;border-radius:8px;padding:14px;font:800 18px var(--font-body);text-align:center;justify-content:center;letter-spacing:0;text-transform:none}
.hub-section>summary h2{font:800 18px var(--font-body);color:var(--cream);margin:0;text-align:center}
.hub-section>summary::after{color:var(--gold);font-size:24px;margin-left:auto}
.hub-section-body{padding:14px}
.hub-section-body :is(p,h3){color:var(--slate)}
.hub-section-body p{font-size:14px;line-height:1.5}
.app-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:10px}
.app-card{background:var(--card);border:2px solid var(--navy);border-radius:10px;padding:12px;min-height:84px;color:var(--navy);box-shadow:none}
.app-icon{background:var(--cream);color:var(--navy);border:1px solid var(--navy);border-radius:8px;min-width:38px;height:38px;font-size:18px}
.app-copy strong{font-size:17px;color:var(--navy);white-space:normal;overflow-wrap:anywhere}
.app-copy small{font-size:14px;color:var(--slate);white-space:normal}
.app-status,.app-status.preview,.app-status.hold,.app-status.signin{color:var(--slate);border:0;background:transparent;font-size:11px;line-height:1.4;white-space:normal;padding:0}
.app-open{color:var(--navy)}
.job-row,.lj-link,.lj-item,.conn-row{background:var(--card);border:1px solid var(--navy);color:var(--charcoal);box-shadow:none;min-width:0}
.job-name,.conn-name,.lj-link strong{color:var(--navy);white-space:normal;overflow-wrap:anywhere}
.job-status,.job-status.open,.job-status.blocked,.job-status.avail,.lj-badge{color:var(--navy);background:var(--cream);border:1px solid var(--navy);white-space:normal}
.job-time,.conn-detail,.job-agent,.tag{color:var(--slate)!important}
.lj-checklist :is(div,span),.lj-links :is(div,span){min-width:0;overflow-wrap:anywhere;white-space:normal}
.job-refresh{background:var(--cream);border:2px solid var(--navy);color:var(--navy);min-height:44px;font-size:15px}
#screen-chat header .who,#screen-chat header .who :is(b,span){color:var(--cream)}
#screen-chat .who-plus{color:var(--gold)}
.who-logo{background:var(--cream);border:2px solid var(--gold);box-shadow:none}
.direct-comms{font-size:13px;color:var(--cream);white-space:normal;line-height:1.45;overflow:visible}
.thread-bar{border:0;background:var(--cream)}
.thread-bar :is(button,a){background:var(--card);color:var(--navy);border-color:var(--navy);font-size:13px;min-height:40px}
.feed{background:var(--page)}
.bubble{background:var(--card);color:var(--charcoal);border:2px solid var(--navy);border-radius:12px;backdrop-filter:none;font-size:17px}
.bubble.me{background:var(--cream)}
.bubble.me,.bubble.them{border:2px solid var(--navy);box-shadow:none}
.bubble.is-q{box-shadow:0 0 0 2px var(--gold)}
.bubble .t,.bubble .info-row,.bubble .stamp{color:var(--slate);font-size:12px}
.bubble .bn,.bubble .rx button{color:var(--navy);background:var(--card);border-color:var(--navy);box-shadow:none}
.bubble .rx button.on{background:var(--gold);color:var(--navy)}
.delivery-state{margin-top:12px;padding-top:8px;border-top:1px solid var(--line);font-size:13px;font-weight:700;color:var(--navy)}
.preview-empty{padding:18px;background:var(--card);border:2px dashed var(--navy);border-radius:12px;color:var(--slate);line-height:1.6;font-size:16px}
.day{color:var(--slate)}
.composer,#composer,.row{background:var(--cream);border-color:var(--navy);box-shadow:none}
.row textarea{background:var(--card);color:var(--charcoal);border:2px solid var(--navy);font-size:16px;line-height:1.5;border-radius:10px}
.row button.send{background:var(--gold);color:var(--navy);border:2px solid var(--navy);box-shadow:none;border-radius:10px}
.row button.send .enter-lbl{font-size:13px}
.hub-drop,.bc-drop,.bc-body,.below-composer{background:var(--cream);color:var(--navy);border-color:var(--navy)}
.hub-drop>summary,.bc-drop>summary{color:var(--navy);font-size:15px;min-height:44px;padding:10px}
.sheet{background:rgba(6,24,56,.4)}
.sheet .panel{background:var(--cream);color:var(--navy);border:2px solid var(--navy);box-shadow:none}
.sheet button,.extra-btn,.chip{background:var(--card);color:var(--navy);border-color:var(--navy);box-shadow:none}
.split-pane,.split-panel{background:var(--page)}
.split-tabbar{background:var(--cream);border-color:var(--navy)}
.split-tab,.split-tab-add{background:var(--card);color:var(--navy);border:2px solid var(--navy);min-height:44px;font-size:15px}
.split-tab.on{background:var(--gold);color:var(--navy);border-color:var(--navy);box-shadow:none}
.split-agent-row,.split-link-row{background:var(--card);color:var(--navy);border:2px solid var(--navy);font-size:16px;white-space:normal}
.split-agent-row :is(b,small,span){color:var(--navy)}
.split-media-bar input{background:var(--card);color:var(--charcoal);border:2px solid var(--navy);min-height:44px;font-size:16px}
.split-media-bar button,.split-yt-controls button{background:var(--cream);color:var(--navy);border:2px solid var(--navy);min-height:44px;font-size:15px}
.split-media-empty{background:var(--card);color:var(--slate);border:2px dashed var(--navy);font-size:16px}
.split-media-blocked{background:var(--cream);color:var(--navy);border-color:var(--navy)}
#toast,.toast{background:var(--navy);color:var(--cream);border:2px solid var(--gold);box-shadow:none;font-size:15px}
@media(min-width:780px){
  #pickerPeople.people{grid-template-columns:repeat(3,minmax(0,1fr))}
  #pickerPeople .person-card[data-agent="cos"]{grid-column:1/-1!important}
  .app-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .picker-body{padding:20px 24px 36px}
  .hub-shortcuts{max-width:620px}
}
@media(max-width:480px){
  #screen-picker header{padding-inline:12px}
  .picker-body{padding-inline:12px}
  .hub-shortcuts{grid-template-columns:repeat(2,minmax(0,1fr))}
  .brand-lockup b{font-size:22px}
  .brand-lockup span{font-size:11px}
  .person-card .meta b{font-size:17px!important}
  .hub-section>summary{flex-wrap:wrap}
  .hub-section>summary .lj-badge{font-size:10px}
  .conn-row,.job-row{display:flex;flex-wrap:wrap;gap:7px}
  .conn-detail,.job-name{flex-basis:100%}
  #screen-chat header .who-row{min-width:0}
  .split-media-bar{flex-wrap:wrap}
  .split-media-bar input{width:100%}
}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
