:root {
  color-scheme:dark;
  --vault:#0F0D0A; --panel:#16130E; --panel2:#1C1812; --chip:#221D14;
  --line:#2A2416; --line2:#3A3220; --ivory:#EFE9DB; --dim:#B3AB99; --mute:#958D7B;
  --gold:#C9A227; --goldT:rgba(201,162,39,.13); --felt:#5CB88A; --feltT:rgba(92,184,138,.13);
  --signal:#C73E3E; --signalT:rgba(199,62,62,.12); --pre:#C9B98F; --preT:rgba(201,185,143,.12);
  --serif:'Fraunces',Georgia,serif; --sans:'Hanken','Segoe UI',system-ui,sans-serif;
  --t-instant:80ms; --t-fast:130ms; --t-hover:200ms; --t-flash:550ms;
  --e-out:cubic-bezier(.2,.85,.3,1); --e-hover:ease; --press-btn:scale(.975);
}
* { box-sizing:border-box; }
html,body { margin:0; background:var(--vault); color:var(--ivory); }
body { font:13.5px/1.45 var(--sans); height:100vh; height:100dvh; overflow:hidden; -webkit-font-smoothing:antialiased; }
button,input,select { font:inherit; }
button,a,input,select { -webkit-tap-highlight-color:transparent; }
button,a,select { touch-action:manipulation; }
button { cursor:pointer; }
a { color:inherit; text-decoration:none; }
button { color:inherit; }
button:active,.button:active { transform:var(--press-btn); }
button:disabled { cursor:wait; opacity:.55; }
:focus-visible { outline:2px solid var(--pre); outline-offset:4px; }
button,input,select,a { transition:background var(--t-hover) var(--e-hover),border-color var(--t-hover) var(--e-hover),color var(--t-hover) var(--e-hover),transform var(--t-instant) var(--e-out); }
h1,h2,h3,p { margin:0; }
svg { width:18px; height:18px; fill:none; stroke:currentColor; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; flex:none; }
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
[hidden] { display:none !important; }
.num { font-variant-numeric:tabular-nums; }
.muted { color:var(--mute); }
.positive { color:var(--felt) !important; }
.negative { color:#e78981 !important; }
.eyebrow { font-size:10px; font-weight:600; letter-spacing:.13em; text-transform:uppercase; color:var(--mute); }
.icon-button { width:34px; height:34px; padding:7px; display:inline-flex; align-items:center; justify-content:center; background:transparent; border:1px solid transparent; border-radius:8px; color:var(--mute); }
.icon-button:hover { background:var(--chip); color:var(--ivory); }
.button { min-height:36px; padding:8px 12px; display:inline-flex; align-items:center; justify-content:center; gap:8px; border:1px solid var(--line2); border-radius:8px; background:transparent; font-size:12px; font-weight:600; }
.button:hover { background:var(--panel2); border-color:var(--pre); }
.button.active { background:var(--preT); color:var(--pre); }
.topbar { height:64px; padding:0 32px; display:flex; align-items:center; gap:36px; border-bottom:1px solid var(--line); }
.brand { font:600 25px var(--serif); letter-spacing:-1px; }
.brand span { color:var(--gold); }
.topnav { align-self:stretch; display:flex; align-items:stretch; gap:28px; }
.topnav a { display:flex; align-items:center; gap:8px; position:relative; font-size:12px; font-weight:600; color:var(--mute); }
.topnav a:hover,.topnav a[aria-current] { color:var(--ivory); }
.topnav a[aria-current]:after { content:''; position:absolute; height:2px; background:var(--pre); bottom:0; left:0; right:0; }
.topnav svg { width:15px; height:15px; }
.connection { margin-left:auto; display:flex; align-items:center; gap:8px; font-size:11px; color:var(--dim); white-space:nowrap; }
.connection-dot { width:6px; height:6px; border-radius:50%; background:var(--mute); }
.connection[data-state='live'] .connection-dot { background:var(--felt); box-shadow:0 0 0 4px rgba(92,184,138,.07); }
.connection[data-state='stale'] .connection-dot { background:var(--gold); }
.topbar > .button { font-size:11px; min-height:32px; }
.workspace { max-width:1920px; margin:0 auto; height:calc(100% - 64px); padding:20px 32px 0; display:flex; flex-direction:column; }
.page-heading { display:flex; justify-content:space-between; align-items:center; gap:16px; margin-bottom:18px; }
.page-heading .eyebrow { display:flex; align-items:center; gap:7px; margin-bottom:5px; }
.house-mark { width:14px; height:14px; }
.page-heading .eyebrow svg { width:13px; height:13px; }
h1 { font:600 32px/1.2 var(--serif); letter-spacing:-1.2px; }
.page-heading p { color:var(--mute); font-size:12px; margin-top:6px; }
.heading-actions { display:flex; align-items:center; gap:8px; }
.select-wrap { display:flex; align-items:center; gap:8px; padding:0 11px; border:1px solid var(--line2); border-radius:8px; min-height:36px; color:var(--dim); background:var(--panel); }
.select-wrap svg { width:15px; height:15px; color:var(--mute); }
select { border:0; color:var(--dim); background:transparent; padding:6px 4px 6px 0; font-size:12px; max-width:100%; cursor:pointer; }
select option { background:var(--panel2); }
.overview { display:grid; grid-template-columns:1.22fr 1fr 1.13fr 1fr; padding:18px 0; border:1px solid var(--line2); border-radius:12px; background:linear-gradient(110deg,#211c13 0%,var(--panel) 46%); flex:none; }
.metric { padding:0 27px; border-left:1px solid var(--line); min-width:0; }
.metric:first-child { border-left:0; }
.metric-label { font-size:11px; color:var(--dim); display:flex; align-items:center; gap:6px; }
.help { border:0; padding:0; background:transparent; display:inline-flex; align-items:center; justify-content:center; line-height:1; color:var(--mute); vertical-align:middle; }
.help svg { width:12px; height:12px; }
.metric-value { font-size:29px; font-weight:600; letter-spacing:-1px; line-height:1.25; margin:7px 0 5px; }
.metric.primary .metric-value { font:600 40px/1.06 var(--serif); letter-spacing:-1.6px; margin-top:5px; }
.metric-caption { font-size:11px; color:var(--mute); }
.metric-caption b { color:var(--dim); font-weight:600; }
.book-layout { flex:1; min-height:0; display:grid; grid-template-columns:minmax(0,1fr) 304px; gap:28px; margin-top:20px; }
.ticket-board { display:flex; flex-direction:column; min-height:0; min-width:0; }
.board-toolbar { display:flex; align-items:center; gap:10px; min-height:38px; margin-bottom:10px; }
.status-tabs { display:flex; gap:3px; align-items:center; }
.status-tab { display:flex; align-items:center; gap:7px; border:1px solid transparent; border-radius:7px; background:transparent; color:var(--mute); padding:7px 10px; font-size:12px; white-space:nowrap; }
.status-tab[aria-pressed='true'] { background:var(--ivory); color:var(--vault); }
.status-tab:not([aria-pressed='true']):hover { color:var(--ivory); background:var(--panel2); }
.tab-count { font-size:10px; background:rgba(149,141,123,.14); border-radius:4px; padding:1px 5px; min-width:19px; text-align:center; }
.status-tab[aria-pressed='true'] .tab-count { background:rgba(15,13,10,.08); }
.searchbox { margin-left:auto; width:200px; min-width:120px; display:flex; align-items:center; gap:8px; color:var(--mute); background:var(--panel); border:1px solid var(--line); border-radius:7px; padding:7px 10px; }
.searchbox:focus-within { border-color:var(--pre); }
.searchbox svg { width:15px; height:15px; }
.searchbox input { background:none; border:none; color:var(--ivory); width:100%; min-width:0; padding:0; font-size:11.5px; outline:none; }
.searchbox input::placeholder { color:var(--mute); }
.mobile-insights { display:none; }
.board-meta { min-height:27px; display:flex; align-items:center; gap:10px; color:var(--mute); font-size:11px; margin-bottom:10px; }
.board-meta .sort-control { margin-left:auto; display:flex; align-items:center; gap:7px; white-space:nowrap; }
.board-meta select { font-size:11px; padding:0; }
.filter-pill { display:inline-flex; gap:5px; align-items:center; padding:3px 7px; border-radius:5px; border:1px solid var(--line2); background:var(--chip); color:var(--pre); max-width:260px; font-size:11px; }
.filter-pill span { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.filter-pill svg { width:12px; height:12px; }
.feed { flex:1; overflow:auto; scrollbar-width:thin; scrollbar-color:var(--line2) transparent; padding:1px 5px 24px 1px; min-height:0; }
.ticket-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; align-items:stretch; }
.ticket { position:relative; background:var(--panel); border:1px solid var(--line2); border-radius:11px; min-width:0; display:flex; flex-direction:column; overflow:hidden; }
.ticket[data-heat='high'] { border-color:#65512a; }
.ticket[data-heat='high']:before { content:''; position:absolute; top:0; left:18px; right:18px; height:2px; background:var(--gold); opacity:.75; }
.ticket:hover { border-color:#655b43; }
.ticket.selected { box-shadow:0 0 0 1px var(--pre); }
.ticket-header { display:flex; align-items:center; gap:8px; padding:13px 17px 0; min-height:36px; }
.sport-icon { color:var(--mute); width:15px; height:15px; }
.sport-name { color:var(--dim); font-size:11px; font-weight:600; max-width:40%; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; }
.ticket-ref { font-size:10px; color:var(--mute); }
.pin-button { margin-left:auto; width:25px; height:25px; padding:5px; }
.pin-button svg { width:14px; height:14px; }
.pin-button[aria-pressed='true'] { color:var(--pre); background:var(--preT); }
.ticket-money { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:10px 17px 11px; }
.ticket-risk { font-size:25px; font-weight:600; letter-spacing:-.7px; line-height:1.2; }
.ticket-money-label { font-size:10px; color:var(--mute); margin-top:2px; }
.ticket-upside { text-align:right; }
.ticket-upside b { font-size:15px; font-weight:600; color:var(--dim); }
.ticket-legs { margin:0 17px; border-top:1px solid var(--line); }
.leg-row { min-height:34px; display:grid; grid-template-columns:15px minmax(0,1fr) 36px; align-items:center; column-gap:8px; border-bottom:1px solid rgba(149,141,123,.09); font-size:12.5px; }
.leg-mark { display:flex; align-items:center; justify-content:center; color:var(--mute); }
.leg-mark svg { width:13px; height:13px; }
.leg-mark.open:after { content:''; width:6px; height:6px; border:1px solid #756d5b; border-radius:50%; }
.leg-row.missed .leg-name { text-decoration:line-through; color:var(--mute); }
.leg-name { overflow:hidden; white-space:nowrap; text-overflow:ellipsis; color:#c7bfaf; font-weight:400; }
.leg-name strong { font-weight:600; color:var(--ivory); }
.leg-price { text-align:right; color:var(--dim); font-size:10.5px; }
.leg-price.settled { font-size:10px; color:var(--mute); }
.leg-placeholder { min-height:34px; }
.ticket-more { min-height:30px; display:flex; justify-content:space-between; align-items:center; width:100%; border:0; background:none; padding:5px 17px; color:var(--mute); font-size:10.5px; text-align:left; }
.ticket-more:hover { color:var(--pre); background:var(--preT); }
.ticket-more svg { width:12px; height:12px; }
.ticket-footer { margin-top:auto; padding:10px 17px 13px; border-top:1px dashed var(--line2); background:rgba(255,255,255,.009); }
.chance-row { display:flex; align-items:center; gap:5px; font-size:10.5px; color:var(--mute); }
.chance-row strong { font-size:12px; font-weight:600; color:var(--dim); }
.chance-row .heat-label { margin-left:auto; font-size:10px; color:var(--dim); }
[data-heat='high'] .heat-label { color:#d6b650; }
[data-heat='kept'] .heat-label { color:var(--felt); }
[data-heat='paid'] .heat-label { color:#e78981; }
.chance-track { height:3px; background:var(--line); border-radius:3px; overflow:hidden; margin-top:7px; }
.chance-track span { display:block; height:100%; background:#82765a; border-radius:3px; }
[data-heat='high'] .chance-track span { background:var(--gold); }
[data-heat='kept'] .chance-track span { background:var(--felt); }
[data-heat='paid'] .chance-track span { background:var(--signal); }
.settlement-caption { display:flex; align-items:center; justify-content:space-between; color:var(--mute); font-size:10px; margin-top:7px; }
.leg-steps { display:flex; gap:3px; }
.leg-steps i { display:block; width:11px; height:3px; border-radius:2px; background:var(--line2); }
.leg-steps i.hit { background:var(--pre); }
.leg-steps i.missed { background:var(--felt); }
.watch-panel { border-left:1px solid var(--line); padding-left:25px; min-height:0; display:flex; flex-direction:column; }
.rail-heading { display:flex; align-items:center; justify-content:space-between; margin-bottom:4px; min-height:32px; }
h2 { font-size:15px; font-weight:600; letter-spacing:-.2px; }
.rail-heading svg { color:var(--pre); width:17px; height:17px; }
.rail-description { font-size:11.5px; color:var(--mute); line-height:1.5; }
.rail-tabs { display:flex; gap:20px; border-bottom:1px solid var(--line); margin-top:14px; }
.rail-tab { border:0; background:none; color:var(--mute); font-size:11px; padding:7px 0 10px; position:relative; }
.rail-tab[aria-pressed='true'] { color:var(--ivory); }
.rail-tab[aria-pressed='true']:after { content:''; position:absolute; bottom:-1px; height:2px; background:var(--pre); left:0; right:0; }
.rail-scroll { flex:1; min-height:100px; overflow:auto; scrollbar-width:thin; scrollbar-color:var(--line2) transparent; padding-right:5px; }
.exposure-row { padding:14px 0; border:0; border-bottom:1px solid var(--line); width:100%; background:transparent; text-align:left; display:block; }
.exposure-row:hover,.exposure-row[aria-pressed='true'] { background:var(--preT); }
.exposure-top { display:flex; align-items:start; justify-content:space-between; gap:12px; }
.exposure-name { color:var(--dim); font-size:12px; line-height:1.4; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.exposure-risk { color:var(--ivory); font-size:12px; font-weight:600; flex:none; }
.exposure-meta { margin:5px 0 8px; display:flex; justify-content:space-between; color:var(--mute); font-size:10px; }
.exposure-track { height:3px; background:var(--line); overflow:hidden; border-radius:3px; }
.exposure-track i { display:block; height:100%; background:#8b7a54; border-radius:3px; }
.exposure-row:first-child .exposure-track i { background:var(--pre); }
.rail-note { font-size:10px; color:var(--mute); padding:12px 0 15px; line-height:1.5; }
.rooting-card { flex:none; border:1px solid var(--line2); border-radius:10px; padding:15px; background:linear-gradient(130deg,var(--chip),var(--panel)); margin:12px 0 20px; }
.rooting-card .eyebrow { display:flex; gap:7px; align-items:center; color:var(--pre); font-size:9px; }
.rooting-card svg { width:14px; height:14px; }
.rooting-card h3 { font:600 20px/1.3 var(--serif); letter-spacing:-.5px; margin:10px 0 6px; }
.rooting-card p { color:var(--dim); font-size:11px; line-height:1.6; }
.rooting-card strong { color:var(--ivory); font-weight:600; }
.workspace-footer { display:flex; gap:14px; justify-content:space-between; align-items:center; border-top:1px solid var(--line); min-height:30px; font-size:10px; color:var(--mute); flex:none; }
.workspace-footer span:last-child { white-space:nowrap; }
.empty-state { min-height:280px; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; padding:32px; border:1px dashed var(--line2); border-radius:12px; }
.empty-state > svg { width:32px; height:32px; color:var(--pre); margin-bottom:15px; }
.empty-state h2 { font:600 24px var(--serif); margin-bottom:8px; }
.empty-state p { color:var(--mute); font-size:12px; max-width:340px; margin-bottom:17px; }
.notice { display:flex; align-items:center; justify-content:space-between; gap:15px; border:1px solid var(--line2); background:var(--chip); padding:9px 14px; border-radius:8px; margin-top:14px; color:var(--pre); font-size:12px; }
.notice button { border:0; background:none; text-decoration:underline; color:var(--ivory); font-size:12px; }
.skeleton { height:313px; border-radius:11px; border:1px solid var(--line); background:linear-gradient(var(--panel2),var(--panel)); padding:20px; }
.skeleton i { display:block; background:var(--line); height:11px; margin:14px 0; border-radius:4px; width:70%; }
.skeleton i:first-child { width:30%; height:26px; margin-bottom:28px; }
.skeleton i:nth-child(3) { width:85%; }
dialog { background:var(--panel); color:var(--ivory); border:1px solid var(--line2); border-radius:16px; padding:0; width:min(540px,calc(100vw - 32px)); max-height:calc(100dvh - 48px); box-shadow:0 24px 100px #0008; }
dialog::backdrop { background:rgba(7,6,4,.7); backdrop-filter:blur(5px); }
dialog { scrollbar-width:thin; scrollbar-color:var(--line2) transparent; }
.dialog-header { position:sticky; top:0; z-index:1; background:var(--panel); }
.dialog-header { padding:20px 24px; border-bottom:1px solid var(--line); display:flex; align-items:center; justify-content:space-between; gap:16px; }
.dialog-header h2 { font:600 25px var(--serif); }
.dialog-body { padding:22px 24px; }
.dialog-body .ticket-money { padding:0 0 18px; }
.dialog-body .ticket-legs { margin:0; }
.dialog-body .leg-row { min-height:48px; }
.dialog-body .leg-name { white-space:normal; padding:9px 0; }
.dialog-body .chance-row { margin-top:18px; }
.detail-grid { display:grid; grid-template-columns:1fr 1fr; gap:16px; border-top:1px solid var(--line); padding-top:20px; margin-top:20px; }
.detail-grid dt { font-size:11px; color:var(--mute); }
.detail-grid dd { margin:4px 0 0; font-size:13px; overflow-wrap:anywhere; }
.detail-note { font-size:11px; color:var(--mute); line-height:1.6; margin-top:18px; }
.dialog-actions { display:flex; gap:8px; margin-top:20px; }
.dialog-actions { flex-wrap:wrap; align-items:center; }
.copy-status { color:var(--dim); font-size:11px; line-height:1.5; }
.copy-link-fallback { width:100%; padding:10px; border:1px solid var(--line2); border-radius:8px; background:var(--vault); color:var(--ivory); font:12px var(--sans); }
.help-copy { font-size:13px; color:var(--dim); line-height:1.7; }
.focus-mode .page-heading { margin-bottom:14px; }
.focus-mode .page-heading p,.focus-mode .page-heading .eyebrow { display:none; }
.focus-mode .workspace { padding-top:17px; }
.focus-mode .overview { padding:14px 0; }
.focus-mode .book-layout { margin-top:18px; grid-template-columns:minmax(0,1fr); }
.focus-mode .watch-panel { display:none; }
.focus-mode .mobile-insights { display:inline-flex; }
.focus-mode .ticket-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
@media (min-width:1650px) { .ticket-grid { grid-template-columns:repeat(3,minmax(0,1fr)); } .book-layout { grid-template-columns:minmax(0,1fr) 320px; gap:30px; } }
@media (max-width:1200px) { .topbar { padding:0 22px; } .workspace { padding:20px 22px 0; } .book-layout { grid-template-columns:minmax(0,1fr) 266px; gap:18px; } .watch-panel { padding-left:18px; } .metric { padding:0 18px; } .status-tab { padding:7px; gap:5px; } .searchbox { width:155px; } .sport-name { max-width:37%; } }
@media (max-width:1000px) { .book-layout { grid-template-columns:minmax(0,1fr); } .watch-panel { display:none; } .mobile-insights { display:inline-flex; font-size:11px; } .focus-mode .ticket-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .metric { padding:0 16px; } .metric.primary .metric-value { font-size:34px; } .metric-value { font-size:25px; } }
@media (max-width:640px) {
  .topbar { height:54px; padding:0 16px; gap:22px; } .brand { font-size:22px; } .topnav { gap:16px; } .topnav a { font-size:11px; } .topnav svg,.topbar > .button,.connection-age { display:none; } .connection { font-size:10px; gap:6px; }
  .workspace { height:calc(100% - 54px); padding:17px 14px 0; } .page-heading { gap:8px; margin-bottom:17px; align-items:flex-start; } h1 { font-size:27px; } .page-heading p { display:none; } .page-heading .eyebrow { font-size:9px; } .heading-actions { gap:4px; } .heading-actions > .button { width:34px; padding:7px; min-height:34px; } .focus-text { display:none; } .select-wrap { min-height:34px; padding:0 7px; gap:4px; } .select-wrap svg { display:none; } .select-wrap select { font-size:11px; max-width:95px; }
  .overview { grid-template-columns:1fr 1fr; padding:15px 0 12px; row-gap:14px; border-radius:10px; } .metric { padding:0 15px; } .metric:nth-child(3) { border-left:0; } .metric:nth-child(n+3) { border-top:1px solid var(--line); padding-top:12px; } .metric.primary .metric-value { font:600 31px/1.1 var(--serif); margin:7px 0 4px; } .metric-value { font-size:25px; margin:5px 0 2px; } .metric-label { font-size:10px; } .metric-caption { font-size:10px; }
  .book-layout { margin-top:16px; } .board-toolbar { flex-wrap:wrap; gap:10px; margin-bottom:9px; } .status-tabs { width:100%; justify-content:space-between; } .status-tab { padding:6px 9px; font-size:11px; gap:5px; } .searchbox { width:auto; flex:1; padding:8px 10px; } .mobile-insights { padding:7px 9px; min-height:34px; } .board-meta { flex-wrap:wrap; gap:6px; } .board-meta .sort-control { gap:4px; } .filter-pill { max-width:180px; } .ticket-grid,.focus-mode .ticket-grid { grid-template-columns:minmax(0,1fr); gap:12px; } .ticket-header { padding-top:13px; } .ticket-risk { font-size:28px; } .leg-row { min-height:38px; font-size:12px; } .leg-placeholder { min-height:38px; } .workspace-footer { font-size:9px; gap:5px; } .workspace-footer span:last-child { display:none; } .focus-mode .metric:nth-child(n+3) { display:none; } .focus-mode .page-heading { margin-bottom:12px; } .notice { font-size:11px; }
}
@media (prefers-reduced-motion:reduce) { *,*:before,*:after { animation:none !important; transition:none !important; scroll-behavior:auto !important; } }
@media (max-width:640px) {
  .page-heading { flex-wrap:wrap; }
  .page-heading > div:first-child { flex-basis:100%; }
  .heading-actions { width:100%; justify-content:flex-end; }
  .refresh-text { display:none; }
  .connection { min-width:0; }
  #connection-label { overflow:hidden; text-overflow:ellipsis; }
  .status-tabs { justify-content:space-between; gap:2px; overflow-x:auto; }
  .status-tab { padding:6px; gap:4px; flex-shrink:0; }
  .topbar { gap:14px; }
  .topnav a[aria-current] { display:none; }
  .topbar>.experience-icon { width:32px; height:32px; }
  .heading-actions [data-price-status] { margin-right:auto; font-size:9px; }
}
@media(pointer:coarse) {
  .icon-button,.pin-button { min-width:44px; min-height:44px; }
  .help { min-width:28px; min-height:28px; }
  .ticket-more,.status-tab,.button,.notice button { min-height:44px; }
  .searchbox input { font-size:16px; }
  .select-wrap select { min-height:36px; }
}

/* A single page scroll on phones/tablets; keep filtering within reach as the
   heading and summary move away. Desktop retains its independently scrolling book. */
@media (max-width:1000px) {
  body { height:auto; min-height:100dvh; overflow:visible; }
  .workspace { height:auto; }
  .book-layout { flex:none; }
  /* Short and empty results still leave room to scroll the filters to the top. */
  .ticket-board { min-height:100dvh; }
  .feed { flex:none; overflow:visible; }
  .board-toolbar {
    position:sticky; top:0; z-index:4;
    padding:10px 0; background:var(--vault);
    border-bottom:1px solid var(--line);
  }
  .workspace-footer { padding-bottom:env(safe-area-inset-bottom,0px); }
}
