:root{--text:#4a4757;--text-h:#16141d;--bg:#f3f4f7;--card:#fff;--border:#e3e2e8;--muted:#8b8896;--accent:#e4572e;--accent-bg:#e4572e1a;--accent-border:#e4572e73;--ink:#2b2d42;--shadow:#16141d0f 0 1px 2px, #16141d14 0 8px 24px -8px;--sans:system-ui, "Segoe UI", Roboto, sans-serif;--display:"Bebas Neue", Impact, "Arial Narrow", sans-serif;--mono:ui-monospace, Consolas, monospace;font:16px/145% var(--sans);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{background:var(--bg);margin:0}#root{min-height:100svh}h2,h3{color:var(--text-h);margin:0}h2{font-family:var(--display);letter-spacing:.5px;margin-bottom:16px;font-size:30px;font-weight:400;line-height:1}p{margin:0}a{color:var(--accent)}.card{background:var(--card);border:1px solid var(--border);box-shadow:var(--shadow);text-align:left;border-radius:16px;min-width:0;padding:24px}.site-header{grid-template-columns:400px minmax(0,1fr);align-items:center;gap:32px;display:grid}.brand{flex-direction:column;gap:16px;min-width:0;display:flex}.header-report{min-width:0}.brand .logo{width:100%;max-width:400px}.gary{align-items:flex-start;gap:12px;display:flex}.gary img{mix-blend-mode:multiply;width:120px;height:auto}.speech{background:var(--ink);color:#fff;min-width:0;min-height:64px;box-shadow:var(--shadow);border-radius:16px;flex:0 230px;align-items:center;margin-top:24px;padding:14px 18px;display:flex;position:relative}.speech:before{content:"";border-style:solid;border-width:10px 12px 10px 0;border-color:transparent var(--ink) transparent transparent;position:absolute;top:22px;left:-10px}.slogan{font-size:18px;font-style:italic;line-height:1.3;transition:opacity .6s,transform .6s}.slogan.out{opacity:0;transform:translateY(4px)}.tech-list{color:var(--text);overflow-wrap:anywhere;margin:0;padding-left:18px;font-size:14px;line-height:1.7}.tech-list i{color:var(--muted)}.collapse-toggle{width:100%;font:inherit;color:inherit;cursor:pointer;text-align:left;background:0 0;border:none;justify-content:space-between;align-items:center;padding:0;display:flex}.collapse-toggle h2{margin:0}.collapse-toggle .chevron{color:var(--muted);transition:transform .3s}.collapse-toggle[aria-expanded=true] .chevron{transform:rotate(180deg)}.cal-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.cal-head h2{margin:0}.cal-controls{align-items:center;gap:8px;display:flex}.cal-viewport{touch-action:pan-y;overflow:hidden}.cal-track{gap:var(--cal-gap);will-change:transform;transition:transform .55s cubic-bezier(.22,1,.36,1);display:flex}.month{flex:0 0 var(--cal-month);border:1px solid var(--border);background:#fbfbfd;border-radius:12px;padding:12px}.month.current{border-color:var(--accent-border);background:#fff}.month.future{opacity:.6}.month h3{margin-bottom:8px;font-size:15px;font-weight:600}.month h3 small{color:var(--muted);margin-left:4px;font-weight:400}.month-grid{text-align:center;grid-template-columns:repeat(7,1fr);gap:4px;font-size:12px;display:grid}.month-grid .dow{color:var(--muted);font-size:11px;font-weight:600}.month-grid .day{height:26px;color:var(--muted);background:#f1f1f5;border-radius:6px;justify-content:center;align-items:center;display:flex}.month-grid .day.trained{background:var(--accent);color:#fff;font-weight:700}.month-grid .day.today{outline:2px solid var(--ink);outline-offset:-2px;color:var(--text-h)}.data-list{border:1px solid var(--border);border-radius:10px;max-height:420px;margin-top:16px;font-size:13px;overflow:auto}.data-list table{border-collapse:collapse;width:100%}.data-list th,.data-list td{border-bottom:1px solid var(--border);text-align:left;white-space:nowrap;padding:6px 12px}.data-list th{color:var(--text-h);background:#f7f7fa;font-weight:600;position:sticky;top:0}.data-list td.num,.data-list th.num{text-align:right}.MuiTableCell-root.selected-sort,.MuiTableCell-root.unselected-sort{cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap;font-weight:700}.MuiTableCell-root.selected-sort{background-color:var(--accent-bg);color:var(--accent)}@media (width<=1000px){.site-header{grid-template-columns:minmax(0,1fr)}}@media (width<=600px){.card{padding:16px}.gary img{width:84px}.slogan{font-size:16px}}@media (prefers-reduced-motion:reduce){.cal-track,.slogan{transition:none}}
