/* ONE SCREEN (4 Nov, mockup A): the home is one live report. Colours come ONLY from the TOKENS block in lite.css (vars). */
.tabs{display:none!important}
#app{padding-bottom:calc(24px + env(safe-area-inset-bottom))}
body.dashpg #app{max-width:600px}
body.dashpg:not(.chatting) #app{zoom:1}
.one{--gap:18px;color:var(--ink);font:400 14px/1.4 var(--sans)}
.one a{color:inherit;text-decoration:none}
.o-mast{display:flex;justify-content:space-between;align-items:center;gap:8px;font:400 11px/1.2 var(--M);letter-spacing:.08em;text-transform:uppercase;color:var(--mute);padding:6px 0 10px;border-bottom:1px solid var(--line)}
.o-fire.off{filter:grayscale(1);opacity:.45}
.o-live{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}
.o-live i{width:7px;height:7px;border-radius:50%;background:var(--fill);animation:oPulse 2.4s ease-in-out infinite}
@keyframes oPulse{50%{opacity:.25}}
.o-hero{display:grid;grid-template-columns:42% 1fr;gap:10px;align-items:end;padding:10px 0 4px}
.o-char{margin:0;position:relative}
.o-char img{display:block;width:100%;height:auto}
.o-char figcaption{font:400 10px var(--M);letter-spacing:.1em;text-transform:uppercase;color:var(--mute);text-align:center;margin-top:-6px}
.o-nums{display:flex;flex-direction:column;gap:14px;padding-bottom:18px}
.o-big{display:block}
.o-lab{display:block;font:400 11px var(--M);letter-spacing:.12em;text-transform:uppercase;color:var(--mute)}
.o-big b{display:block;font:400 clamp(30px,10vw,44px)/1 var(--A,var(--H));letter-spacing:.01em;margin:3px 0 6px;white-space:nowrap}
.o-big b small{font-size:.5em;color:var(--mute);margin-left:2px}
.o-bar{display:block;height:4px;background:var(--cu)}
.o-bar i{display:block;height:100%;background:var(--fill);transition:width .8s ease}
.o-walkc{border-top:1px solid var(--line);padding:12px 0 6px}
.o-walkc h2{display:flex;justify-content:space-between;align-items:baseline;margin:0;font:400 22px/1 var(--A,var(--H));text-transform:uppercase;letter-spacing:.02em}
.o-walkc h2 small{font:400 11px var(--M);color:var(--mute);letter-spacing:.06em}
.o-tip{margin:6px 0 2px;min-height:16px;font:400 11px var(--M);color:var(--accent);letter-spacing:.04em}
.o-chart{width:100%;min-height:130px}
.o-chart.sm{min-height:120px}
.o-tree{border-top:1px solid var(--line);margin-top:6px}
.o-node{border-bottom:1px solid var(--line)}
.o-node>summary{display:grid;grid-template-columns:96px minmax(0,1fr) 72px 14px;align-items:center;gap:10px;min-height:52px;cursor:pointer;list-style:none}
.o-node>summary::-webkit-details-marker,.o-kid>summary::-webkit-details-marker{display:none}
.o-node>summary::after{content:"›";color:var(--mute);font:400 18px var(--sans);transition:transform .2s}
.o-node[open]>summary::after{transform:rotate(90deg)}
.o-t{font:400 22px/1 var(--A,var(--H));text-transform:uppercase;letter-spacing:.02em;min-width:72px;padding-right:10px;border-right:1px solid var(--line)}
.o-line{font:400 11.5px/1.3 var(--M);color:var(--mute);text-transform:uppercase;letter-spacing:.04em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.o-num{font:400 18px var(--A,var(--H));white-space:nowrap;text-align:right}
@media (max-width:360px){.o-node>summary{grid-template-columns:80px minmax(0,1fr) 60px 12px;gap:8px}.o-t{font-size:19px;min-width:0}}
.o-kids{margin:0 0 12px 14px;padding-left:14px;border-left:1px solid var(--line);animation:oIn .2s ease}
@keyframes oIn{from{opacity:0;transform:translateY(-4px)}}
.o-kid{position:relative;font:400 12px/1.35 var(--M)}
.o-kid>summary,div.o-kid{display:flex;justify-content:space-between;gap:12px;padding:8px 0;min-height:36px;align-items:baseline;list-style:none;cursor:default}
.o-kid>summary{cursor:pointer}
.o-kid>summary::before,div.o-kid::before{content:"";position:absolute;left:-14px;top:16px;width:9px;border-top:1px solid var(--line)}
.o-kid span{color:var(--mute);text-transform:uppercase;letter-spacing:.05em;flex:none}
.o-kid b{font-weight:400;text-align:right;color:var(--ink)}
.o-kid>summary b::after{content:" ▾";color:var(--accent);font-size:10px}
.o-kid[open]>summary b::after{content:" ▴"}
.o-cbox{padding:0 0 8px}
.o-rng{display:flex;gap:6px;margin:6px 0 0}
.o-rng button{flex:1;min-height:36px;font:400 11px var(--M);letter-spacing:.06em;text-transform:uppercase;color:var(--mute);background:none;border:1px solid var(--line)}
.o-rng button.on{color:var(--ink);border-color:var(--ink)}
.o-more{display:inline-block;margin-top:6px;padding:8px 0;font:400 11px var(--M);letter-spacing:.08em;text-transform:uppercase;color:var(--accent)!important}
.o-foot{margin-top:18px}
.o-foot .o-t{font-size:16px;color:var(--mute)}
.o-help{font:400 13px/1.5 var(--sans);color:var(--ink)}
.o-help p{margin:8px 0}
.o-src{width:100%;border-collapse:collapse;font:400 11px/1.35 var(--M);margin:10px 0}
.o-src th{text-align:left;color:var(--mute);font-weight:400;text-transform:uppercase;letter-spacing:.06em;border-bottom:1px solid var(--line);padding:4px 6px 4px 0}
.o-src td{vertical-align:top;padding:6px 6px 6px 0;border-bottom:1px solid var(--line)}
.o-src td small{display:block;color:var(--mute)}
.o-small{font-size:11px;color:var(--mute)}
.o-back{position:fixed;left:12px;bottom:calc(12px + env(safe-area-inset-bottom));z-index:30;padding:10px 14px;font:400 12px var(--M);letter-spacing:.08em;text-transform:uppercase;background:var(--paper2);color:var(--ink);border:1px solid var(--line)}
/* uPlot (MIT) minimal styles */
.uplot,.uplot *{box-sizing:border-box}.uplot{width:min-content}.u-wrap{position:relative;user-select:none}.u-over,.u-under{position:absolute}.u-under{overflow:hidden}
.uplot canvas{display:block;position:relative;width:100%;height:100%}.u-axis{position:absolute}
.u-cursor-x,.u-cursor-y{position:absolute;left:0;top:0;pointer-events:none;will-change:transform}
.u-hz .u-cursor-x{height:100%;border-right:1px dashed var(--mute)}.u-cursor-y{display:none}
.u-cursor-pt{position:absolute;top:0;left:0;border-radius:50%;border:0 solid;pointer-events:none;will-change:transform;background-clip:padding-box!important}
.u-axis.u-off,.u-select,.u-cursor-x.u-off,.u-cursor-pt.u-off{display:none}
@media (min-width:1100px){.o-hero{grid-template-columns:38% 1fr}}
.o-wm{margin-top:10px}
.o-jour{display:grid;grid-template-columns:1fr auto;gap:6px 8px;align-items:baseline;margin:0;padding:10px 0;border-top:1px solid var(--line);font:400 11px var(--M);letter-spacing:.05em;text-transform:uppercase;color:var(--mute)}
.o-jour:empty{display:none}
.o-jour b{color:var(--ink);font-weight:400}
.o-jour .o-bar{grid-column:1/-1}
