:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--page:#f9f9f7;--surface:#fcfcfb;--surface-2:#f3f2ef;--ink:#0b0b0b;--ink-2:#52514e;--ink-muted:#898781;--grid:#e1e0d9;--axis:#c3c2b7;--border:#0b0b0b1a;--accent:#2a78d6;--accent-ink:#fff;--series-1:#2a78d6;--series-2:#eb6834;--lunch:#e2a524;--dinner:#3f4a8a;--good:#006300;--good-mark:#0ca30c;--warning:#fab219;--critical:#d03b3b;--warn-bg:#fff6e0;--crit-bg:#fdecec;--radius:10px;font-family:system-ui,-apple-system,Segoe UI,Hiragino Sans,Yu Gothic UI,sans-serif;font-size:15px;line-height:1.5}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--page:#0d0d0d;--surface:#1a1a19;--surface-2:#232321;--ink:#fff;--ink-2:#c3c2b7;--ink-muted:#898781;--grid:#2c2c2a;--axis:#383835;--border:#ffffff1a;--accent:#3987e5;--series-1:#3987e5;--series-2:#d95926;--lunch:#e8b03a;--dinner:#7f8ad6;--good:#0ca30c;--warn-bg:#3a2f10;--crit-bg:#3a1616}}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--page:#0d0d0d;--surface:#1a1a19;--surface-2:#232321;--ink:#fff;--ink-2:#c3c2b7;--ink-muted:#898781;--grid:#2c2c2a;--axis:#383835;--border:#ffffff1a;--accent:#3987e5;--series-1:#3987e5;--series-2:#d95926;--lunch:#e8b03a;--dinner:#7f8ad6;--good:#0ca30c;--warn-bg:#3a2f10;--crit-bg:#3a1616}*{box-sizing:border-box}body{background:var(--page);color:var(--ink);margin:0}a{color:var(--accent)}h1{margin:0;font-size:1.35rem}h2{margin:0 0 10px;font-size:1.05rem}h3{color:var(--ink-2);margin:0 0 8px;font-size:.95rem}.muted{color:var(--ink-muted)}.small{font-size:.85rem}.num{font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap}.shell{max-width:1200px;margin:0 auto;padding:0 16px 48px}.topbar{z-index:10;background:var(--page);border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:12px;margin:0 -16px 16px;padding:10px 16px;display:flex;position:sticky;top:0}.brand{margin-right:8px;font-weight:700}.nav{flex-wrap:wrap;flex:1;gap:4px;display:flex}.nav a{color:var(--ink-2);border-radius:8px;padding:6px 10px;font-size:.9rem;text-decoration:none}.nav a.active{background:var(--surface-2);color:var(--ink);font-weight:600}.page-head{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:16px;display:flex}.page-head .spacer{flex:1}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:16px;padding:16px}.scroll-x{-webkit-overflow-scrolling:touch;overflow-x:auto}button,.btn{font:inherit;border:1px solid var(--border);background:var(--surface);color:var(--ink);cursor:pointer;border-radius:8px;padding:6px 12px}button:hover{background:var(--surface-2)}button.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}button.primary:hover{filter:brightness(1.08)}button:disabled{opacity:.5;cursor:default}input,select{font:inherit;color:var(--ink);background:var(--surface);border:1px solid var(--axis);border-radius:8px;padding:6px 8px}input[type=number]{text-align:right;font-variant-numeric:tabular-nums}.seg{background:var(--surface-2);border:1px solid var(--border);border-radius:9px;gap:2px;padding:2px;display:inline-flex}.seg button{color:var(--ink-2);white-space:nowrap;background:0 0;border:0;border-radius:7px;padding:4px 12px}.seg button:hover{background:color-mix(in oklab, var(--accent) 12%, var(--surface));color:var(--ink)}.seg button.on{background:var(--accent);color:var(--accent-ink);font-weight:700;box-shadow:0 1px 2px #0000002e}.seg button.on .muted{color:inherit;opacity:.85}.stepper{align-items:stretch;gap:4px;display:inline-flex}.stepper>button,.stepper>.month-btn>button,.stepper>input{border:1px solid var(--axis);background:var(--surface)}.stepper>button{color:var(--ink-2);padding:4px 11px;font-size:1.05rem;line-height:1}.stepper>button:hover:not(:disabled),.stepper>.month-btn>button:hover{background:color-mix(in oklab, var(--accent) 10%, var(--surface));border-color:var(--accent);color:var(--ink)}.stepper>.month-btn>button{font-weight:700}.stepper>.month-btn>button.on{color:var(--accent);border-color:var(--accent)}.banner{border-radius:var(--radius);align-items:flex-start;gap:8px;margin-bottom:12px;padding:10px 14px;display:flex}.banner.warn{background:var(--warn-bg)}.banner.crit{background:var(--crit-bg)}.banner.ok{background:color-mix(in oklab, var(--good) 12%, var(--surface))}.member-form{gap:12px;max-width:560px;margin-top:8px;display:grid}.member-form>label{color:var(--ink-2);gap:4px;font-size:.85rem;display:grid}.member-form fieldset{border:1px solid var(--border);border-radius:var(--radius);gap:6px;padding:8px 12px;display:grid}.member-form fieldset:disabled{opacity:.6}.member-form legend{color:var(--ink-2);padding:0 4px;font-size:.85rem}.member-form label.radio{color:var(--ink);align-items:baseline;gap:8px;display:flex}.banner .icon{font-weight:700}.tiles{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;margin-bottom:16px;display:grid}.tile{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:12px 14px}.tile .label{color:var(--ink-2);font-size:.85rem}.tile .value{margin-top:2px;font-size:1.5rem;font-weight:700}.tile .sub{color:var(--ink-muted);font-size:.8rem}table.data{border-collapse:collapse;width:100%;font-size:.88rem}table.data th,table.data td{border-bottom:1px solid var(--grid);padding:6px 8px}table.data th{color:var(--ink-2);text-align:left;white-space:nowrap;background:var(--surface);font-weight:600}table.data th.num{text-align:right}table.data tr.sub td:first-child{color:var(--ink-2);padding-left:20px}table.data td.heat{border:2px solid var(--surface);border-radius:4px}table.data .sticky{background:var(--surface);z-index:1;position:sticky;left:0}.status{white-space:nowrap;align-items:center;gap:4px;font-size:.85rem;display:inline-flex}.status:before{content:"";background:currentColor;border-radius:50%;width:8px;height:8px}.status.success{color:var(--good)}.status.warning{color:#a86f00}.status.failed{color:var(--critical)}.status.running{color:var(--ink-muted)}.legend{color:var(--ink-2);gap:14px;margin-bottom:6px;font-size:.85rem;display:flex}.legend .sw{vertical-align:-1px;border-radius:2px;width:10px;height:10px;margin-right:5px;display:inline-block}.chart{position:relative}.tooltip{pointer-events:none;background:var(--surface);border:1px solid var(--border);white-space:nowrap;z-index:5;border-radius:8px;padding:8px 10px;font-size:.82rem;position:absolute;box-shadow:0 4px 16px #0000001f}.grid-2{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:16px;display:grid}.login{max-width:360px;margin:12vh auto}.login label{color:var(--ink-2);margin:10px 0 4px;font-size:.9rem;display:block}.login input{width:100%}.error{color:var(--critical)}.chips{flex-wrap:wrap;gap:6px;display:flex}.chip{background:var(--surface-2);border-radius:999px;padding:2px 10px;font-size:.8rem}@media (width<=600px){.tile .value{font-size:1.25rem}table.data{font-size:.8rem}table.data th,table.data td{padding:5px 6px}}@media print{.topbar,.no-print{display:none!important}body{background:#fff}.card{break-inside:avoid}}table.weekly td.g-start,table.weekly th.g-start{border-left:2px solid var(--axis)}table.weekly .month{background:color-mix(in oklab, var(--accent) 7%, var(--surface))}table.weekly thead th.month{background:color-mix(in oklab, var(--accent) 14%, var(--surface));color:var(--ink)}table.weekly tr.total td{background:var(--surface-2);font-weight:600}table.weekly tr.total td.month{background:color-mix(in oklab, var(--accent) 12%, var(--surface-2))}table.weekly tr.sep td{border-top:2px solid var(--axis)}table.weekly td.target{color:var(--ink-muted)}table.weekly td.actual{font-weight:600}.rate{font-variant-numeric:tabular-nums;color:var(--ink);border-radius:999px;align-items:center;gap:4px;padding:1px 8px;font-weight:600;display:inline-flex}.rate .mark{font-size:.75rem}.rate.good{background:color-mix(in oklab, var(--good-mark) 20%, var(--surface))}.rate.good .mark{color:var(--good)}.rate.warn{background:color-mix(in oklab, var(--warning) 30%, var(--surface))}.rate.warn .mark{color:#8a5a00}.rate.bad{background:color-mix(in oklab, var(--critical) 18%, var(--surface))}.rate.bad .mark{color:var(--critical)}.rate-legend{flex-wrap:wrap;gap:10px;margin-top:8px;display:flex}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .rate.warn .mark{color:#fab219}}:root[data-theme=dark] .rate.warn .mark{color:#fab219}:root{--heat-a:#2a78d6;--heat-b:#eb6834}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--heat-a:#3987e5;--heat-b:#d95926}}:root[data-theme=dark]{--heat-a:#3987e5;--heat-b:#d95926}table.daygroup td.g-start,table.daygroup th.g-start{border-left:2px solid var(--axis)}table.daygroup thead th.grp-a{background:color-mix(in oklab, var(--heat-a) 14%, var(--surface));color:var(--ink)}table.daygroup thead th.grp-b{background:color-mix(in oklab, var(--heat-b) 14%, var(--surface));color:var(--ink)}table.daygroup tr.total td{background:var(--surface-2);font-weight:600}table.daygroup tr.sep td{border-top:2px solid var(--axis)}table.daygroup thead th.cmp-head{background:var(--surface-2);color:var(--ink-2)}table.daygroup td.cmp-cell{color:var(--ink-2);white-space:nowrap}table.daygroup td.cmp-cell .cmp-diff,table.daygroup td .cmp-diff{min-width:0;margin:1px 0 0;line-height:1.1;display:block}table.daygroup td .cmp-diff.up{color:#b4461c}table.daygroup td .cmp-diff.down{color:#1d5fa8}table.daygroup.compact{width:auto}table.daygroup.compact th.num,table.daygroup.compact td.num{min-width:84px}table.daygroup.compact th.sticky,table.daygroup.compact td.sticky{min-width:64px}table.daygroup th.sub-head{padding-top:2px;padding-bottom:4px;font-size:.72rem;font-weight:600}.cmp-diff{text-align:right;min-width:46px;color:var(--muted);margin-left:6px;font-size:11px;display:inline-block}.cmp-diff.up{color:#eb6834;font-weight:600}.cmp-diff.down{color:#2a78d6;font-weight:600}.heat-legend{flex-wrap:wrap;align-items:center;gap:14px;margin-top:8px;display:flex}.heat-legend .ramp{vertical-align:-1px;border-radius:3px;width:48px;height:10px;margin-right:5px;display:inline-block}.ramp-a{background:linear-gradient(90deg, color-mix(in oklab, var(--heat-a) 6%, var(--surface)), var(--heat-a))}.ramp-b{background:linear-gradient(90deg, color-mix(in oklab, var(--heat-b) 6%, var(--surface)), var(--heat-b))}table.annual tr.section td{background:color-mix(in oklab, var(--accent) 12%, var(--surface));color:var(--ink);border-top:2px solid var(--axis);font-weight:700}table.annual tr.main td{font-weight:600}table.annual .total-col{border-left:2px solid var(--axis);background:var(--surface-2)}table.annual tr.section td.total-col{background:color-mix(in oklab, var(--accent) 12%, var(--surface))}.daily-scroll{max-height:75vh;overflow:auto}table.dailytable thead th{z-index:2;position:sticky;top:0}table.dailytable thead tr:nth-child(2) th{top:31px}table.dailytable thead th.sticky{z-index:3}table.dailytable th.grp{text-align:center;color:var(--ink)}table.dailytable th.grp-0{background:color-mix(in oklab, var(--heat-a) 12%, var(--surface))}table.dailytable th.grp-1{background:color-mix(in oklab, var(--heat-b) 12%, var(--surface))}table.dailytable th.grp-ev{background:var(--surface-2)}table.dailytable td.g-start,table.dailytable th.g-start,table.annual td.g-start,table.annual th.g-start{border-left:2px solid var(--axis)}table.dailytable tr.total td{background:var(--surface-2);border-bottom:2px solid var(--axis);top:var(--dt-head,64px);z-index:2;box-shadow:inset 0 -2px 0 var(--axis);font-weight:700;position:sticky}table.dailytable tr.total td.sticky{z-index:3}table.dailytable tr.off td{color:var(--ink-muted);background:color-mix(in oklab, var(--ink) 3%, var(--surface))}table.dailytable tr.today td{box-shadow:inset 0 2px 0 var(--accent), inset 0 -2px 0 var(--accent)}table.dailytable td.memo-cell{text-align:left;white-space:nowrap;text-overflow:ellipsis;max-width:280px;overflow:hidden}table.dailytable td.memo-cell.ev-cell{min-width:110px;max-width:160px}.fc{color:var(--ink);font-variant-numeric:tabular-nums;border-radius:6px;align-items:center;gap:3px;padding:1px 6px;display:inline-flex}.fc .mark{font-size:.7rem}.fc-over{background:color-mix(in oklab, var(--good-mark) 20%, var(--surface))}.fc-over .mark{color:var(--good)}.fc-on{background:color-mix(in oklab, var(--accent) 18%, var(--surface))}.fc-on .mark{color:var(--accent)}.fc-under{background:color-mix(in oklab, var(--critical) 18%, var(--surface))}.fc-under .mark{color:var(--critical)}.wx{text-align:center;min-width:2em;color:var(--ink);border-radius:6px;padding:1px 6px;font-weight:600;display:inline-block}.wx-sunny{background:color-mix(in oklab, #f08c00 38%, var(--surface))}.wx-cloudy{background:color-mix(in oklab, var(--ink-muted) 22%, var(--surface))}.wx-rain{background:color-mix(in oklab, #2a78d6 26%, var(--surface))}.wx.wx-fc{border:1.5px dashed var(--ink-muted);color:var(--ink-muted);white-space:nowrap;background:0 0;font-style:italic;font-weight:500}.wx.wx-fc.wx-sunny{background:oklab(73.1063% .0769445 .14857/.1);border-color:#f08c00}.wx.wx-fc.wx-cloudy{border-color:var(--ink-muted);background:color-mix(in oklab, var(--ink-muted) 8%, transparent)}.wx.wx-fc.wx-rain{background:oklab(57.5273% -.0406162 -.157411/.1);border-color:#2a78d6}.fc-wx-text{color:var(--ink-muted);font-style:italic}.layout{min-height:100vh;display:flex}.sidebar{background:var(--surface);border-right:1px solid var(--border);flex-direction:column;flex:none;gap:6px;width:196px;height:100vh;padding:14px 10px;display:flex;position:sticky;top:0;overflow-y:auto}.app-name{letter-spacing:.32em;font-weight:800}h1.app-name{margin-bottom:2px;font-size:1.9rem}.app-tagline{letter-spacing:.05em;margin-top:0}.sidebar .small-mark{color:var(--ink-muted);letter-spacing:.4em;padding:4px 10px 0;font-size:.72rem}.app-switch{gap:4px;padding:0 10px 8px;display:flex}.app-switch a{text-align:center;border:1px solid var(--border);background:var(--surface);color:var(--ink-2);white-space:nowrap;border-radius:8px;flex:1;padding:6px 4px;font-size:.85rem;text-decoration:none}.app-switch a:hover{background:var(--surface-2)}.app-switch a.on{background:color-mix(in oklab, var(--accent) 14%, var(--surface));color:var(--accent);border-color:#0000;font-weight:600}.sidebar .brand{padding:2px 10px 8px;font-size:1.05rem;font-weight:700;line-height:1.3}.sidebar .store-switch{gap:2px;padding:0 10px 10px;display:grid}.sidebar .store-switch select{width:100%}.sidebar nav{flex:1}.nav-group{margin-bottom:14px}.nav-title{color:var(--ink-muted);letter-spacing:.04em;padding:0 10px 4px;font-size:.75rem;font-weight:600}.sidebar nav a{color:var(--ink-2);border-radius:8px;padding:7px 10px;font-size:.92rem;text-decoration:none;display:block}.sidebar nav a:hover{background:var(--surface-2)}.sidebar nav a.active{background:color-mix(in oklab, var(--accent) 14%, var(--surface));color:var(--ink);font-weight:600}.sidebar .logout{margin:0 10px}.main{flex:1;min-width:0}.main .shell{max-width:1400px;padding-top:16px}.mobilebar{display:none}.backdrop{z-index:40;background:#00000059;position:fixed;inset:0}@media (width<=800px){.sidebar{z-index:50;transition:transform .2s;position:fixed;top:0;left:0;transform:translate(-100%);box-shadow:0 0 24px #0003}.sidebar.open{transform:none}.mobilebar{z-index:30;background:var(--page);border-bottom:1px solid var(--border);align-items:center;gap:10px;padding:8px 16px;display:flex;position:sticky;top:0}.mobilebar .brand{font-weight:700}.menu-btn{padding:4px 10px;font-size:1.1rem}}.sidebar .nav-group{margin-bottom:4px}.sidebar .nav-title{cursor:pointer;letter-spacing:.08em;width:100%;color:var(--ink-2);text-align:left;background:0 0;border:0;border-radius:8px;align-items:center;gap:6px;padding:8px 10px;font-size:.78rem;font-weight:700;display:flex}.sidebar .nav-title:hover{background:var(--surface-2)}.sidebar .nav-title{letter-spacing:.04em;color:var(--ink);gap:10px;padding:9px 10px;font-size:.95rem}.sidebar .nav-title .nav-label{flex:1}.sidebar .nav-title .chev{text-align:center;width:14px;color:var(--ink-muted);font-size:1.05rem;transition:transform .15s;display:inline-block}.sidebar .nav-title .chev.open{transform:rotate(90deg)}.sidebar .nav-title .nav-icon{color:var(--ink-2)}.sidebar nav a{align-items:center;gap:10px;padding:7px 10px 7px 20px;display:flex}.sidebar nav a .nav-icon{width:16px;height:16px;color:var(--ink-muted);flex:none}.sidebar nav a.active,.sidebar nav a.active .nav-icon{color:var(--accent)}.sidebar nav .nav-parent>a.has-active{color:var(--ink);font-weight:600}.sidebar nav .nav-parent>a.has-active .nav-icon{color:var(--accent)}.sidebar nav .nav-subs{border-left:2px solid var(--border);gap:1px;margin:0 0 4px 27px;padding-left:8px;display:grid}.sidebar nav a.nav-sub{padding:5px 10px;font-size:.88rem}.sidebar nav a.nav-sub.active{box-shadow:inset 2px 0 0 var(--accent);border-radius:0 8px 8px 0;margin-left:-10px;padding-left:18px}@media (width>=801px){.shell>.page-tabs{display:none}}.nav-icon{flex:none}.schedule{grid-auto-rows:minmax(28px,auto);min-width:760px;font-size:.8rem;display:grid}.sch-head{text-align:center;color:var(--ink-2);border-bottom:1px solid var(--border);padding:2px 0 4px;line-height:1.2}.sch-head.weekend{color:var(--accent)}.sch-head.today{color:var(--ink);background:color-mix(in oklab, var(--accent) 12%, var(--surface));border-radius:6px 6px 0 0;font-weight:700}.sch-label{border-bottom:1px solid var(--grid);color:var(--ink-2);white-space:nowrap;align-items:center;gap:6px;padding:0 8px 0 2px;display:flex}.sch-cell{border-bottom:1px solid var(--grid);border-left:1px solid var(--grid)}.sch-cell.weekend{background:var(--surface-2)}.sch-cell.today{background:color-mix(in oklab, var(--accent) 8%, var(--surface))}.sch-bar{z-index:1;text-align:left;min-width:0;color:var(--ink);white-space:nowrap;text-overflow:ellipsis;cursor:pointer;border:0;border-left:4px solid;border-radius:4px;margin:3px 1px;padding:2px 6px;font-size:.78rem;overflow:hidden}.sch-bar:hover,.sch-bar.selected{outline:2px solid var(--ink-2);outline-offset:-1px}.ev-dot{vertical-align:middle;border-radius:50%;flex:none;width:9px;height:9px;margin-right:6px;display:inline-block}.event-form{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px;display:grid}.event-form input,.event-form select{box-sizing:border-box;width:100%}.auto-badge{color:var(--ink-2);background:var(--surface-2);border:1px solid var(--border);vertical-align:middle;border-radius:999px;margin-left:6px;padding:0 6px;font-size:.72rem;font-weight:600;display:inline-block}.pq-wrap{max-height:75vh;overflow:auto}.table-scroll{-webkit-overflow-scrolling:touch;border-top:1px solid var(--grid);min-height:320px;max-height:calc(100vh - 240px);overflow:auto}.table-scroll table thead th{z-index:2;background:var(--surface);box-shadow:0 1px 0 var(--grid);position:sticky;top:0}.table-scroll table thead th.sticky{z-index:3;left:0}.table-scroll table td.sticky{z-index:1;box-shadow:1px 0 0 var(--grid)}table.pq{width:auto;font-size:.8rem}table.pq th,table.pq td{padding:3px 6px}table.pq thead th{z-index:2;background:var(--surface);text-align:center;line-height:1.2;position:sticky;top:0}table.pq thead th.sticky{z-index:3}table.pq .pq-name{white-space:normal;text-align:left;min-width:180px;max-width:260px;font-weight:400}table.pq .pq-name.indent{color:var(--ink-2);padding-left:20px}table.pq .pq-total{background:var(--surface-2);font-weight:600}table.pq thead th.weekend{background:color-mix(in oklab, var(--ink) 70%, var(--surface));color:var(--surface)}table.pq thead th.weekend .muted,table.pq thead th.weekend .pq-ev{color:inherit}table.pq td.weekend{background:color-mix(in oklab, var(--ink) 5%, var(--surface))}table.pq .we-start{border-left:2px solid color-mix(in oklab, var(--ink) 45%, var(--surface))}table.pq .we-end{border-right:2px solid color-mix(in oklab, var(--ink) 45%, var(--surface))}table.pq .closed{background:var(--surface-2);color:var(--ink-muted)}table.pq tr.pq-strong th,table.pq tr.pq-strong td{font-weight:700}table.pq tr.pq-section th,table.pq tr.pq-section td{background:var(--surface-2);padding-top:6px;font-weight:700}table.pq .pq-ev{color:var(--accent);font-size:.6rem;line-height:1}.rank-grid{grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:12px;display:grid}.rank-grid .card{margin-bottom:0}table.rank td,table.rank th{padding:4px 6px}table.rank tr.mark-up td{background:oklab(67.0767% .132762 .113958/.14)}table.rank tr.mark-down td{background:oklab(57.5273% -.0406162 -.157411/.14)}.contrib{background:linear-gradient(to right, transparent calc(50% - .5px), var(--axis) calc(50% - .5px), var(--axis) calc(50% + .5px), transparent calc(50% + .5px));height:12px;position:relative}.contrib span{border-radius:2px;height:10px;position:absolute;top:1px}.contrib .pos{background:#eb6834}.contrib .neg{background:#2a78d6}.txt-up{color:#c4501f}.txt-down{color:#2a78d6}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .txt-up{color:#f08a5d}:root:not([data-theme=light]) .txt-down{color:#6aa6ec}}:root[data-theme=dark] .txt-up{color:#f08a5d}:root[data-theme=dark] .txt-down{color:#6aa6ec}.recent-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px;display:grid}.factor-list{margin:4px 0 6px;padding:0;list-style:none}.factor-list li{border-bottom:1px solid var(--grid);justify-content:space-between;gap:12px;max-width:360px;padding:3px 0;display:flex}.pattern-badge{white-space:nowrap;border:1px solid var(--border);color:var(--ink-2);background:var(--surface-2);vertical-align:middle;border-radius:999px;margin-left:6px;padding:1px 8px;font-size:.75rem;font-weight:600;display:inline-block}td>.pattern-badge:first-child{margin-left:0}.pattern-badge.up{color:#a8431a;background:color-mix(in oklab, #eb6834 16%, var(--surface));border-color:color-mix(in oklab, #eb6834 40%, var(--surface))}.pattern-badge.down{color:#1d5fae;background:color-mix(in oklab, #2a78d6 14%, var(--surface));border-color:color-mix(in oklab, #2a78d6 40%, var(--surface))}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .pattern-badge.up{color:#f6a27c}:root:not([data-theme=light]) .pattern-badge.down{color:#8dbcf2}}:root[data-theme=dark] .pattern-badge.up{color:#f6a27c}:root[data-theme=dark] .pattern-badge.down{color:#8dbcf2}.stale{opacity:.45;pointer-events:none;transition:opacity .15s}.loading-chip{color:var(--ink-2);background:var(--surface-2);border:1px solid var(--border);border-radius:999px;padding:2px 10px;font-size:.78rem}table.pq tr.pq-group th,table.pq tr.pq-group td{color:var(--ink-2);border-bottom:1px solid var(--border);padding-top:6px;font-size:.75rem;font-weight:600}table.rank tr.rank-group td{color:var(--ink-2);border-bottom:1px solid var(--border);padding-top:8px;font-size:.75rem;font-weight:600}table.weekly tr.kpi-section td{background:var(--surface-2);border-top:2px solid var(--border);padding-top:8px;font-weight:700}.kpi-target-grid{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:10px 16px;display:grid}.store-sources{gap:6px;margin-top:12px;display:grid}.store-source{border:1px solid var(--border);border-radius:var(--radius);padding:8px 12px}.store-source.on{border-color:color-mix(in oklab, var(--accent) 40%, var(--border))}.store-source label.radio{align-items:baseline;gap:8px;display:flex}.store-secrets{gap:8px;max-width:480px;margin:8px 0 2px 24px;display:grid}.store-secrets>label{color:var(--ink-2);gap:4px;font-size:.85rem;display:grid}.chip.warn{background:var(--warn-bg)}button.link{color:var(--accent);cursor:pointer;background:0 0;border:0;padding:0 4px;text-decoration:underline}:root{--share-1:#2a78d6;--share-2:#eb6834;--share-3:#1baf7a;--share-4:#eda100}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--share-1:#3987e5;--share-2:#d95926;--share-3:#199e70;--share-4:#c98500}}:root[data-theme=dark]{--share-1:#3987e5;--share-2:#d95926;--share-3:#199e70;--share-4:#c98500}.share-legend{color:var(--ink-2);flex-wrap:wrap;gap:4px 14px;margin-bottom:6px;font-size:.85rem;display:flex}.share-legend i{vertical-align:-1px;border-radius:3px;width:10px;height:10px;margin-right:5px;display:inline-block}.share-col{width:40%;min-width:180px}.share-bar{gap:2px;height:14px;display:flex}.share-bar span{min-width:3px;position:relative}.share-bar span:first-child{border-radius:4px 0 0 4px}.share-bar span:last-child{border-radius:0 4px 4px 0}.share-bar span:only-child{border-radius:4px}.share-bar span.on{outline:2px solid var(--surface);box-shadow:0 0 0 3px var(--ink-2)}.share-tip{white-space:nowrap;background:var(--surface);color:var(--ink);border:1px solid var(--border);z-index:2;border-radius:6px;padding:2px 8px;font-size:.8rem;font-style:normal;position:absolute;bottom:20px;left:0;box-shadow:0 2px 6px #00000026}.share-on td:first-child{font-weight:700}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.donuts{flex-wrap:wrap;gap:24px 48px;display:flex}.donuts h3{color:var(--ink-2);margin:0 0 6px;font-weight:600}.donut{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.donut path{cursor:default;transition:stroke-width .1s}.donut-center{fill:var(--ink);font-size:18px;font-weight:700}.donut-sub{fill:var(--ink-muted);font-size:10px}.donut-legend{gap:4px;margin:0;padding:0;font-size:.9rem;list-style:none;display:grid}.donut-legend li{grid-template-columns:12px auto 4.5em auto;align-items:center;gap:8px;display:grid}.donut-legend i{border-radius:3px;width:10px;height:10px}.donut-legend strong{text-align:right}table.data tr.section-row th{background:var(--surface-2);border-top:2px solid var(--border);padding-top:6px;font-weight:700}.page-tabs,.tabs{flex-wrap:wrap;gap:6px;margin:0 0 14px;display:flex}.page-tabs a,.tabs>button{font:inherit;color:var(--ink);background:var(--surface);border:1px solid var(--border);cursor:pointer;white-space:nowrap;border-radius:8px;padding:6px 14px;text-decoration:none;box-shadow:0 1px 1px #0000000a}.page-tabs a:hover,.tabs>button:hover{border-color:var(--accent);color:var(--accent)}.page-tabs a.on,.tabs>button[aria-selected=true]{background:var(--accent);border-color:var(--accent);color:var(--accent-ink);font-weight:700;box-shadow:0 1px 2px #0000002e}.tabs.sticky-tabs{z-index:2;background:var(--page);border-bottom:1px solid var(--border);padding:6px 0;position:sticky;top:0}.chart-tip{top:0;transform:translate(-50%)}.chart-tip .sw{border-radius:2px;width:9px;height:9px;margin-right:5px;display:inline-block}.stack-chart+.stack-chart{margin-top:10px}.logo{line-height:0;display:inline-flex}.logo img{width:auto;display:block}.logo .logo-dark{display:none}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .logo .logo-light{display:none}:root:not([data-theme=light]) .logo .logo-dark{display:block}}:root[data-theme=dark] .logo .logo-light{display:none}:root[data-theme=dark] .logo .logo-dark{display:block}.sidebar .sidebar-logo{padding:6px 10px 4px}h1.login-logo{margin:0 0 6px}.fold-btn{all:unset;cursor:pointer;font:inherit;color:inherit;align-items:center;gap:4px;display:inline-flex}.fold-btn:hover{text-decoration:underline}.fold-btn:focus-visible{outline:2px solid var(--accent,#2a78d6);outline-offset:2px;border-radius:2px}.fold-btn .chev{width:1em;color:var(--ink-muted);display:inline-block}table.annual td.yoy-cell{white-space:nowrap;font-size:.88em}table.annual td.yoy-now{font-weight:600}.yoy-val{font-weight:500}.yoy-val.strong{font-weight:700}.yoy-val.pill-up,.yoy-val.pill-down{border-radius:999px;padding:1px 6px}.yoy-val.pill-up{background:oklab(67.0767% .132762 .113958/.14)}.yoy-val.pill-down{background:oklab(57.5273% -.0406162 -.157411/.14)}table.annual .yoy-mark{vertical-align:1px;margin-right:3px;font-size:.7em}table.annual tr.group-start td{border-top:2px solid var(--axis)}.band-tag{border-radius:999px;margin-right:6px;padding:0 6px;font-size:.72rem;font-weight:700;line-height:1.5;display:inline-block}.band-weekday{background:var(--surface-2);color:var(--ink-2);border:1px solid var(--border)}.band-holiday{background:color-mix(in oklab, var(--critical) 14%, transparent);color:var(--critical);border:1px solid color-mix(in oklab, var(--critical) 35%, transparent)}.month-btn{display:inline-flex;position:relative}.month-btn-caret{color:var(--ink-muted);margin-left:6px;font-size:.7em}.month-pop{z-index:200;box-sizing:border-box;background:var(--surface);border:1px solid var(--border);border-radius:10px;width:248px;padding:10px;position:fixed;box-shadow:0 8px 24px #00000024}.month-pop-year{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.month-pop-year button{cursor:pointer;color:var(--ink-2);background:0 0;border:0;border-radius:6px;padding:2px 10px;font-size:1.1rem}.month-pop-year button:hover{background:var(--surface-2)}.month-pop-grid{grid-template-columns:repeat(4,1fr);gap:4px;display:grid}.month-pop-grid button{border:1px solid var(--border);background:var(--surface);cursor:pointer;font:inherit;color:var(--ink);border-radius:6px;padding:7px 0}.month-pop-grid button:hover{background:var(--surface-2)}.month-pop-grid button.on{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:700}.month-pop-ly{border:1px dashed var(--border);cursor:pointer;width:100%;font:inherit;color:var(--ink-2);background:0 0;border-radius:6px;margin-top:8px;padding:7px 0;font-size:.85rem}.month-pop-ly:hover{background:var(--surface-2)}.sidebar a.nav-updates{color:var(--ink-2);border-radius:8px;align-items:center;gap:10px;margin:8px 0 6px;padding:8px 10px;font-size:.92rem;text-decoration:none;display:flex}.sidebar a.nav-updates:hover{background:var(--surface-2)}.sidebar a.nav-updates.active{background:color-mix(in oklab, var(--accent) 14%, var(--surface));color:var(--accent);font-weight:600}.sidebar a.nav-updates .nav-icon{width:16px;height:16px}.nav-dot{color:#fff;background:#eb6834;border-radius:999px;margin-left:auto;padding:1px 7px;font-size:.68rem;font-weight:700}.release{margin-bottom:14px}.release-date{align-items:center;gap:8px;margin:0 0 10px;font-size:1rem;display:flex}.rn-badge{color:#fff;background:#eb6834;border-radius:999px;padding:1px 8px;font-size:.68rem;font-weight:700}.release-items{margin:0;padding:0;list-style:none}.release-items li{border-top:1px solid var(--grid);grid-template-columns:auto auto 1fr;align-items:baseline;gap:4px 10px;padding:8px 0;line-height:1.6;display:grid}.release-items li:first-child{border-top:0}.rn-kind{white-space:nowrap;border-radius:999px;padding:1px 8px;font-size:.72rem;font-weight:700}.rn-new{color:#c4501f;background:oklab(67.0767% .132762 .113958/.16)}.rn-improve{color:#2a78d6;background:oklab(57.5273% -.0406162 -.157411/.14)}.rn-fix{background:var(--surface-2);color:var(--ink-2);border:1px solid var(--border)}.rn-screen{color:var(--ink-2);white-space:nowrap;font-size:.82rem;font-weight:600}.rn-text{color:var(--ink)}@media (width<=640px){.release-items li{grid-template-columns:auto 1fr}.rn-text{grid-column:1/-1}}.tile .cmp-lines{color:var(--ink-2);gap:1px;margin-top:4px;font-size:.78rem;display:grid}.tile .cmp-lines .txt-up,.tile .cmp-lines .txt-down{font-weight:600}.kpi-tiles .tile{--tone:#2a5d94;background:linear-gradient(180deg, color-mix(in oklab, var(--tone) 9%, var(--surface)), var(--surface) 70%);border-top:0;position:relative;overflow:hidden}.kpi-tiles .tile:before{content:"";background:var(--tone);height:4px;position:absolute;inset:0 0 auto}.kpi-tiles .tile .label{color:var(--tone);font-weight:700}.kpi-tiles .tile.tone-cust{--tone:#148a61}.kpi-tiles .tile.tone-labor{--tone:#b07a00}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .kpi-tiles .tile{--tone:#7fa8d8}:root:not([data-theme=light]) .kpi-tiles .tile.tone-cust{--tone:#4cc79a}:root:not([data-theme=light]) .kpi-tiles .tile.tone-labor{--tone:#e0b44a}}:root[data-theme=dark] .kpi-tiles .tile{--tone:#7fa8d8}:root[data-theme=dark] .kpi-tiles .tile.tone-cust{--tone:#4cc79a}:root[data-theme=dark] .kpi-tiles .tile.tone-labor{--tone:#e0b44a}.star-btn{cursor:pointer;color:var(--ink-muted);background:0 0;border:0;padding:2px 4px;font-size:1.05rem;line-height:1}.star-btn:hover,.star-btn.on{color:#eda100}tr.ev-starred>td{background:color-mix(in oklab, #eda100 8%, var(--surface))}table.dailytable th.text-left,table.dailytable td.text-left{text-align:left}
