[hidden]{display:none!important}:root{--bg:#eef2ef;--surface:#fff;--ink:#18221d;--muted:#5a6a62;--line:#d6dfd9;--soft:#e4ebe6;--accent:#245f50;--accent-ink:#fff;--warn:#b14a22;--pos:#2f7d3a;--neg:#b14a22;--s1:#3d8b37;--s2:#8a3f8f;--s3:#b58410;--s4:#16807f;--s5:#c4492b;--s6:#43598a;--s7:#7a5a3a;--s8:#9a3b5f;--t-prairie:#d5e6bf;--t-foret:#8db57f;--t-roche:#c2bbae;--t-eau:#9cc0dc;--t-other:#e0d9c8;--se-printemps:#86b94f;--se-ete:#d9a72c;--se-automne:#c56a35;--se-hiver:#7f9fbf;--winter:#6f8fb0;--f-display:"Bricolage Grotesque", "Avenir Next", system-ui, sans-serif;--f-body:"IBM Plex Sans", system-ui, -apple-system, "Segoe UI", sans-serif;--f-mono:"IBM Plex Mono", ui-monospace, "SF Mono", Menlo, monospace}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#101613;--surface:#18201c;--ink:#e4ebe7;--muted:#93a39a;--line:#2a3530;--soft:#202a25;--accent:#5fb59c;--accent-ink:#0d1512;--warn:#ec8058;--pos:#6cc463;--neg:#ec8058;--s1:#6cc463;--s2:#c77fcb;--s3:#e2b33f;--s4:#4fd1c5;--s5:#f07a59;--s6:#8ea6db;--s7:#c19470;--s8:#d97a9c;--t-prairie:#4b6a33;--t-foret:#1b3522;--t-roche:#5c564c;--t-eau:#1f4468;--t-other:#3d3a30;--se-printemps:#9fd068;--se-ete:#ebbd4a;--se-automne:#e08550;--se-hiver:#9ab8d8;--winter:#8fb0d4;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root[data-theme=dark]{--bg:#101613;--surface:#18201c;--ink:#e4ebe7;--muted:#93a39a;--line:#2a3530;--soft:#202a25;--accent:#5fb59c;--accent-ink:#0d1512;--warn:#ec8058;--pos:#6cc463;--neg:#ec8058;--s1:#6cc463;--s2:#c77fcb;--s3:#e2b33f;--s4:#4fd1c5;--s5:#f07a59;--s6:#8ea6db;--s7:#c19470;--s8:#d97a9c;--t-prairie:#4b6a33;--t-foret:#1b3522;--t-roche:#5c564c;--t-eau:#1f4468;--t-other:#3d3a30;--se-printemps:#9fd068;--se-ete:#ebbd4a;--se-automne:#e08550;--se-hiver:#9ab8d8;--winter:#8fb0d4;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--ink);font:15px/1.5 var(--f-body);padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px));margin:0;padding-block:28px 48px}.wrap{flex-direction:column;gap:22px;max-width:1180px;margin:0 auto;display:flex}header{flex-wrap:wrap;justify-content:space-between;align-items:end;gap:12px 24px;display:flex}h1{font:700 clamp(26px,4vw,36px)/1.1 var(--f-display);letter-spacing:-.01em;text-wrap:balance;margin:0}h3{font:700 19px var(--f-display);text-wrap:balance;margin:0}.sub{color:var(--muted);max-width:66ch;margin:6px 0 0}.clock{font:500 14px var(--f-mono);color:var(--muted);font-variant-numeric:tabular-nums;flex-wrap:wrap;align-items:center;gap:10px;display:flex}.clock b{font:500 22px var(--f-mono);color:var(--ink)}.dayhour{font:500 13px var(--f-mono);color:var(--muted);white-space:nowrap}.chip{font:500 12px var(--f-body);background:var(--soft);color:var(--muted);border-radius:999px;padding:3px 9px}.clockbox{flex-direction:column;align-items:flex-end;gap:6px;min-width:min(100%,260px);display:flex}.year{justify-content:flex-end;align-items:center;gap:10px;width:100%;display:flex}.yearbar{border-radius:4px;width:180px;height:8px;display:flex;position:relative;overflow:visible}.yearbar span{opacity:.85;height:100%}.yearbar span:first-child{border-radius:4px 0 0 4px}.yearbar span:last-of-type{border-radius:0 4px 4px 0}.yearbar i{background:var(--ink);border-radius:2px;width:3px;height:16px;position:absolute;top:-4px;transform:translate(-1px)}.seasonlbl{font:500 13px var(--f-body);white-space:nowrap;text-align:right;min-width:9ch}.seasonlbl.off{color:var(--muted)}.chip.warn{background:color-mix(in srgb,var(--warn) 16%,transparent);color:var(--warn)}.grid{grid-template-columns:300px minmax(0,1fr);align-items:start;gap:22px;display:grid}@media (width<=900px){.grid{grid-template-columns:minmax(0,1fr)}}.panel{background:var(--surface);border:1px solid var(--line);border-radius:10px;flex-direction:column;gap:18px;min-width:0;padding:18px;display:flex}h2{font:600 11px var(--f-body);letter-spacing:.09em;text-transform:uppercase;color:var(--muted);margin:0}.group{flex-direction:column;gap:10px;display:flex}.presets{flex-wrap:wrap;gap:6px;display:flex}button,select{font:500 13px var(--f-body);color:var(--ink);background:var(--soft);border:1px solid var(--line);cursor:pointer;border-radius:7px;padding:7px 11px}button:hover,select:hover{border-color:var(--muted)}button:focus-visible,input:focus-visible,summary:focus-visible,select:focus-visible,textarea:focus-visible,canvas:focus-visible{outline:2px solid var(--accent);outline-offset:2px}button[aria-pressed=true]{background:var(--ink);color:var(--bg);border-color:var(--ink)}button.primary{background:var(--accent);color:var(--accent-ink);border-color:var(--accent);min-width:96px;font-weight:600}.field{grid-template-columns:1fr auto;align-items:center;gap:2px 10px;display:grid}.field label{align-items:center;gap:7px;min-width:0;font-size:13.5px;display:flex}.field output{font:500 13px var(--f-mono);font-variant-numeric:tabular-nums}.field input.count{width:8.5ch;font:500 13px var(--f-mono);font-variant-numeric:tabular-nums;text-align:right;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:6px;padding:3px 6px}.field input.count:hover{border-color:var(--muted)}.field input[type=range]{width:100%;accent-color:var(--accent);grid-column:1/-1}.field input[type=checkbox]{accent-color:var(--accent);width:15px;height:15px;margin:0}.field.off label{color:var(--muted)}.field.off input[type=range]{opacity:.35}.field small,.hint{color:var(--muted);grid-column:1/-1;font-size:12px;line-height:1.4}.dot{border-radius:50%;flex:none;width:9px;height:9px;display:inline-block}.pin{font:11px var(--f-mono);color:var(--muted)}.main{flex-direction:column;gap:14px;min-width:0;display:flex}.bar{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.bar .sep{flex:1}.seg{flex-wrap:wrap;gap:4px;display:inline-flex}.speed{flex-wrap:wrap;align-items:center;gap:8px 10px;font-size:12.5px;display:flex}.speed input[type=range]{width:140px;accent-color:var(--accent)}.speedread{flex-direction:column;min-width:11ch;line-height:1.25;display:flex}.speed output{font:500 12.5px var(--f-mono);font-variant-numeric:tabular-nums}.speeddesc{color:var(--muted);white-space:nowrap;font-size:11.5px}#step{align-items:center;gap:6px;display:inline-flex}#speedBtn{display:none}.tiles{grid-template-columns:repeat(auto-fill,minmax(128px,1fr));gap:10px;display:grid}.tile{background:var(--surface);border:1px solid var(--line);border-radius:10px;flex-direction:column;gap:1px;min-width:0;padding:10px 12px;display:flex}.tile .k{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;align-items:center;gap:7px;font-size:12.5px;display:flex;overflow:hidden}.tile .v{font:500 clamp(18px,2.2vw,22px)/1.2 var(--f-mono);font-variant-numeric:tabular-nums}.tile .d{font:11.5px var(--f-mono);color:var(--muted);min-height:1.4em}.tile.dead .v{color:var(--muted);text-decoration:line-through}.card{background:var(--surface);border:1px solid var(--line);border-radius:10px;flex-direction:column;gap:8px;min-width:0;padding:12px;display:flex}.card .t{color:var(--muted);font-size:12.5px}.maphead{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.maphead .seg button{padding:4px 9px;font-size:12.5px}.mapwrap{position:relative}#map{aspect-ratio:32/20;cursor:crosshair;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;border-radius:6px;max-width:100%}.inspector{z-index:2;pointer-events:none;background:var(--surface);border:1px solid var(--line);border-radius:9px;flex-direction:column;gap:8px;width:min(300px,100% - 8px);padding:10px 12px;display:flex;position:absolute;box-shadow:0 6px 20px #00000038}.inspector .ih{justify-content:space-between;gap:10px;font-size:13px;display:flex}.inspector .ih span{color:var(--muted)}.inspector .irows{flex-direction:column;gap:5px;display:flex}.inspector .ir{grid-template-columns:minmax(0,9.5em) minmax(0,1fr) 4.5ch;align-items:center;gap:8px;font-size:12px;display:grid}.inspector .in{white-space:nowrap;text-overflow:ellipsis;align-items:center;gap:6px;display:flex;overflow:hidden}.inspector .ib{background:var(--soft);border-radius:4px;height:7px;overflow:hidden}.inspector .ib span{border-radius:4px;height:100%;display:block}.inspector .iv{font:500 12px var(--f-mono);font-variant-numeric:tabular-nums;text-align:right}.inspector .ifoot,.inspector .iempty{color:var(--muted);margin:0;font-size:11px;line-height:1.35}#map.pannable{cursor:grab}#map.dragging{cursor:grabbing}.zoombar{background:color-mix(in srgb,var(--surface) 88%,transparent);border:1px solid var(--line);border-radius:8px;align-items:center;gap:2px;padding:3px;display:flex;position:absolute;top:8px;right:8px;box-shadow:0 2px 8px #0000001f}.zoombar button{background:0 0;border:0;min-width:30px;padding:4px 9px;font-size:13px}.zoombar button:hover{background:var(--soft)}.zoombar button:disabled{opacity:.35;cursor:default;background:0 0}.zoombar output{font:500 12px var(--f-mono);font-variant-numeric:tabular-nums;text-align:center;min-width:4.5ch;color:var(--muted)}.mapinfo{font:12px/1.5 var(--f-mono);color:var(--muted);font-variant-numeric:tabular-nums;min-height:3em}.mapinfo b{color:var(--ink);font-weight:500}.legend{color:var(--muted);flex-wrap:wrap;align-items:center;gap:4px 14px;font-size:12px;display:flex}.legend i{vertical-align:-2px;border:1px solid var(--line);border-radius:3px;width:12px;height:12px;margin-right:5px;display:inline-block}.legend .shape{vertical-align:-1px;margin-right:5px;display:inline-block}.legend i.sq{vertical-align:0;border:0;border-radius:1px;width:8px;height:8px}.ramp{vertical-align:-1px;border:1px solid var(--line);border-radius:3px;width:90px;height:10px;margin:0 6px;display:inline-block}.charts{grid-template-columns:minmax(0,1fr) 250px;align-items:start;gap:12px;display:grid}@media (width<=640px){.charts{grid-template-columns:minmax(0,1fr)}}.phsel{color:var(--muted);flex-wrap:wrap;align-items:center;gap:6px;font-size:12.5px;display:flex}.phsel select{max-width:100%;padding:4px 6px;font-size:12.5px}canvas{width:100%;display:block}#ph{height:230px}.events{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.events button{background:0 0}.log{font:12.5px/1.55 var(--f-mono);color:var(--muted);max-height:120px;margin:0;padding:0;list-style:none;overflow:auto}.log li b{color:var(--ink);font-weight:500}.section{flex-direction:column;gap:12px;display:flex}.section>p{max-width:70ch;margin:0}.web{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);align-items:start;gap:16px;display:grid}@media (width<=900px){.web{grid-template-columns:minmax(0,1fr)}}#webSvg{width:100%;height:auto;display:block}.scroll{overflow-x:auto}table.mx{border-collapse:collapse;font:12.5px var(--f-mono);font-variant-numeric:tabular-nums;width:100%}table.mx th,table.mx td{border-bottom:1px solid var(--line);text-align:center;white-space:nowrap;padding:6px 8px}table.mx th{font:500 12px var(--f-body);color:var(--muted)}table.mx th[scope=row]{text-align:left;color:var(--ink)}table.mx td.p{color:var(--pos)}table.mx td.n{color:var(--neg)}table.mx td.z{color:var(--line)}table.mx tr.off th[scope=row]{color:var(--muted)}.json{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);align-items:start;gap:16px;display:grid}@media (width<=900px){.json{grid-template-columns:minmax(0,1fr)}}textarea{resize:vertical;width:100%;min-height:480px;font:12.5px/1.55 var(--f-mono);color:var(--ink);background:var(--surface);border:1px solid var(--line);tab-size:2;border-radius:10px;padding:12px}.msg{min-height:1.4em;margin:0;font-size:13px}.msg.err{color:var(--warn)}.msg.ok{color:var(--pos)}dl.keys{grid-template-columns:auto 1fr;gap:6px 12px;margin:0;font-size:13px;display:grid}dl.keys dt{font:500 12.5px var(--f-mono)}dl.keys dd{color:var(--muted);margin:0}dl.keys .h{font:500 12px var(--f-body);color:var(--muted);text-transform:uppercase;letter-spacing:.08em;grid-column:1/-1;margin-top:8px}pre.eq{font:12.5px/1.7 var(--f-mono);background:var(--surface);border:1px solid var(--line);border-radius:10px;margin:0;padding:12px 14px;overflow-x:auto}.notes{grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:22px;display:grid}.notes section{flex-direction:column;gap:8px;min-width:0;display:flex}.notes p,.notes li{max-width:65ch;margin:0}.notes ul{flex-direction:column;gap:6px;margin:0;padding-left:18px;display:flex}.muted{color:var(--muted)}button{touch-action:manipulation;-webkit-tap-highlight-color:transparent}.ico{fill:currentColor;flex:none;width:16px;height:16px}#play,#reset{justify-content:center;align-items:center;gap:6px;display:inline-flex}.tile{font:inherit;text-align:left;cursor:pointer;color:var(--ink);transition:border-color .15s,box-shadow .15s;position:relative}.tile:hover{border-color:var(--muted)}.tile[aria-pressed=true]{background:var(--surface);color:var(--ink);border-color:var(--tile-color,var(--ink));box-shadow:inset 0 0 0 1px var(--tile-color,var(--ink))}.tile canvas.spark{width:100%;height:24px;margin-top:2px}.chips{flex-wrap:wrap;gap:6px;display:flex}.chip-sp{background:var(--surface);border-radius:999px;align-items:center;gap:7px;padding:6px 12px 6px 9px;display:inline-flex}.chip-sp[aria-checked=true]{background:var(--ink);color:var(--bg);border-color:var(--ink)}.chip-sp.absent{opacity:.6;border-style:dashed}.chip-sp .dot{box-shadow:0 0 0 2px var(--surface)}.ripple{pointer-events:none;z-index:3;width:0;height:0;position:absolute}.ripple:before{content:"";border:3px solid var(--rc);border-radius:50%;width:56px;height:56px;animation:.7s ease-out forwards ripple;position:absolute;top:-28px;left:-28px}.ripple span{white-space:nowrap;font:600 13px var(--f-mono);color:var(--ink);background:var(--surface);border:1px solid var(--rc);border-radius:999px;padding:2px 8px;animation:1.1s ease-out forwards rise;position:absolute;top:-14px;left:0;transform:translate(-50%,-100%)}@keyframes ripple{0%{opacity:1;transform:scale(.2)}to{opacity:0;transform:scale(1.4)}}@keyframes rise{0%{opacity:0;margin-top:6px}15%{opacity:1;margin-top:0}75%{opacity:1}to{opacity:0;margin-top:-14px}}.coach{z-index:4;text-align:center;background:color-mix(in srgb,var(--surface) 86%,transparent);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);border-radius:6px;flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:16px;display:flex;position:absolute;inset:0}.coach p{max-width:32ch;margin:0;font-size:14px}.coach button{background:var(--accent);color:var(--accent-ink);border-color:var(--accent);margin-top:6px;padding:9px 22px;font-weight:600}.toast{z-index:30;max-width:calc(100% - 32px);left:50%;bottom:calc(140px + env(safe-area-inset-bottom,0px));background:var(--ink);color:var(--bg);border-radius:10px;padding:9px 14px;font-size:13.5px;animation:.2s ease-out toastin;position:fixed;transform:translate(-50%);box-shadow:0 6px 20px #00000040}@keyframes toastin{0%{opacity:0;transform:translate(-50%,8px)}to{opacity:1;transform:translate(-50%)}}.tabbar,.only-touch{display:none}@media (hover:none){.only-hover{display:none!important}.only-touch{display:revert}}@media (prefers-reduced-motion:reduce){.ripple:before,.ripple span,.toast{animation:none}}@media (width<=760px){body{padding-block:12px calc(128px + env(safe-area-inset-bottom,0px));font-size:15px}.wrap{gap:14px}header{flex-wrap:nowrap;align-items:center;gap:8px}header>div:first-child{min-width:0}header .sub{display:none}h1{white-space:nowrap;text-overflow:ellipsis;font-size:19px;overflow:hidden}.clockbox{flex:none;align-items:flex-end;gap:3px;min-width:0}.clock{gap:6px;font-size:12px}.clock>span:not(.chip):not(.dayhour){display:none}.dayhour{font-size:11.5px}.clock b{font-size:16px}.clock b:before{content:"Sem. ";font:400 12px var(--f-body);color:var(--muted)}.year{gap:6px}.yearbar{width:64px;height:6px}.yearbar i{height:12px;top:-3px}.seasonlbl{min-width:0;font-size:12px}.tab-off{display:none!important}.grid{gap:14px}.main{gap:12px}.mapcard{order:1}.tiles{order:2}.eventscard{order:3}.charts{order:4}.mapcard{margin-inline:calc(-1 * max(16px, env(safe-area-inset-left,0px)));border-inline:0;border-radius:0;padding-inline:0}.mapcard>:not(.mapwrap){padding-inline:max(16px, env(safe-area-inset-left,0px))}#map{border-radius:0}.maphead .t{display:none}.maphead{flex-wrap:nowrap}#views{scrollbar-width:none;flex-wrap:nowrap;margin-inline:-2px;padding:2px;overflow-x:auto}#views::-webkit-scrollbar{display:none}.maphead .seg button{white-space:nowrap;padding:7px 12px;font-size:13.5px}.zoombar{top:6px;right:6px}.zoombar button{min-width:40px;min-height:36px;font-size:17px}.zoombar #zoomFit{font-size:13px}.tiles{scroll-snap-type:x mandatory;scrollbar-width:none;margin-inline:calc(-1 * max(16px, env(safe-area-inset-left,0px)));padding-inline:max(16px, env(safe-area-inset-left,0px));gap:8px;display:flex;overflow-x:auto}.tiles::-webkit-scrollbar{display:none}.tile{scroll-snap-align:start;flex:0 0 132px}.tile .span5{display:none}.tile .d{white-space:nowrap}.chips{scrollbar-width:none;flex-wrap:nowrap;padding-bottom:2px;overflow-x:auto}.chips::-webkit-scrollbar{display:none}.chip-sp{flex:none;padding:9px 14px 9px 11px;font-size:14px}.events button{flex:auto;padding:10px 12px}.log{max-height:6.5em}.transport{z-index:20;left:0;right:0;bottom:calc(58px + env(safe-area-inset-bottom,0px));padding:8px max(12px, env(safe-area-inset-left,0px));background:color-mix(in srgb,var(--bg) 92%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-top:1px solid var(--line);flex-wrap:nowrap;gap:8px;margin:0;position:fixed}.transport .sep{display:none}.transport #play{flex:auto;min-height:44px;font-size:15px}.transport #reset{min-width:44px;min-height:44px;padding:0}.transport #reset .lbl{display:none}.transport #step{min-width:44px;min-height:44px;padding:0}.transport #step .lbl{display:none}.transport #speedBtn{white-space:nowrap;align-items:center;gap:6px;min-height:44px;padding:0 12px;font-size:14px;display:inline-flex}.transport #speedBtn[aria-expanded=true]{background:var(--ink);color:var(--bg);border-color:var(--ink)}.transport .speed{left:8px;right:8px;bottom:calc(58px + 62px + env(safe-area-inset-bottom,0px));background:var(--surface);border:1px solid var(--line);border-radius:14px;flex-direction:column;align-items:stretch;gap:12px;padding:14px 16px 16px;display:none;position:fixed;box-shadow:0 -6px 24px #00000040}.transport .speed.open{display:flex}.transport .speed label{letter-spacing:.08em;text-transform:uppercase;font-size:12px;font-weight:600}.transport #speedRange{width:100%;height:32px}.transport .speedread{flex-direction:row;justify-content:space-between;align-items:baseline}.transport .speed output{font-size:15px}.transport .speeddesc{color:var(--ink);font-size:13.5px}.transport .speed .seg{grid-template-columns:repeat(6,1fr);gap:6px;display:grid}.transport .speed .seg button:nth-child(-n+2){grid-column:span 3}.transport .speed .seg button:nth-child(n+3){grid-column:span 2}.transport .seg button{min-height:44px;padding:0 4px;font-size:13.5px}.ico{width:20px;height:20px}.tabbar{z-index:21;background:var(--surface);border-top:1px solid var(--line);padding:0 env(safe-area-inset-right,0px) env(safe-area-inset-bottom,0px) env(safe-area-inset-left,0px);display:flex;position:fixed;bottom:0;left:0;right:0}.tabbar button{height:58px;color:var(--muted);background:0 0;border:0;border-radius:0;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:2px;padding:0;font-size:11.5px;display:flex}.tabbar svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:22px;height:22px}.tabbar button[aria-pressed=true]{color:var(--accent);background:0 0}.tabbar button[aria-pressed=true] svg{stroke-width:2.3px}.panel{padding:16px}.presets button{padding:9px 13px;font-size:14px}select,textarea,input{font-size:16px!important}input[type=range]{height:28px}.field input[type=checkbox]{width:20px;height:20px}.charts .card{padding:10px}textarea{min-height:320px}}
