:root{--ground:#060608;--surface-1:#0f1015;--surface-2:#15161b;--surface-3:#1b1d23;--line:#24262e;--line-soft:#1d1f26;--text:#f4f5f0;--muted:#9a9d93;--muted-dim:#5f6259;--warn:#f5b53d;--danger:#ff5a52;--on-danger:#1a0605;--info:#6fb3e0;--danger-wash:#ff5a5224;--danger-line:#3a2422;--accent:#c6f24e;--accent-pressed:#b2dd3c;--accent-ink:#c6f24e;--accent-on:#0a0c05;--accent-wash:#c6f24e24;--r-sm:12px;--r-md:16px;--r-lg:20px;--r-xl:24px;--r-xxl:32px;--r-full:999px;--s1:4px;--s2:8px;--s3:12px;--s4:16px;--s5:20px;--s6:24px;--s7:32px;--s8:40px;--s9:56px;--sidebar-w:240px;--sidebar-collapsed-w:72px;--scrim:#0000009e;--shadow-dialog:0 40px 90px #0000008c;--font:system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, "SF Mono", "JetBrains Mono", Menlo, monospace;--page-max:1200px;--t-press:90ms;--t-micro:.14s;--t-control:.26s;--t-enter:.38s;--t-trace:.9s;--e-standard:cubic-bezier(.4, 0, .2, 1);--e-enter:cubic-bezier(.16, 1, .3, 1);--e-exit:cubic-bezier(.4, 0, 1, 1);--stagger:40ms;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body{background:var(--ground);color:var(--text);font-family:var(--font);-webkit-font-smoothing:antialiased;margin:0;padding:0}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer;color:inherit;background:0 0;border:none}button:disabled{cursor:not-allowed}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}input,select{font:inherit;color:inherit}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:1ms!important;animation-duration:1ms!important;animation-iteration-count:1!important}}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--ground:#fbfbf8;--surface-1:#fff;--surface-2:#f3f4ee;--surface-3:#e7e9e0;--line:#d7d9ce;--line-soft:#ecede5;--text:#14150f;--muted:#585a4f;--muted-dim:#8b8e82;--warn:#8a5a06;--danger:#c8322a;--on-danger:#fff;--info:#1c6d96;--danger-wash:#c8322a1f;--danger-line:#e8c4c1;--accent-ink:#5e7d09;--accent-wash:#c6f24e4d;--scrim:#14150f6b;--shadow-dialog:0 40px 90px #14150f2e}@media (prefers-color-scheme:light){:root:not([data-theme=dark]):not([data-theme=light]){--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--ground:#fbfbf8;--surface-1:#fff;--surface-2:#f3f4ee;--surface-3:#e7e9e0;--line:#d7d9ce;--line-soft:#ecede5;--text:#14150f;--muted:#585a4f;--muted-dim:#8b8e82;--warn:#8a5a06;--danger:#c8322a;--on-danger:#fff;--info:#1c6d96;--danger-wash:#c8322a1f;--danger-line:#e8c4c1;--accent-ink:#5e7d09;--accent-wash:#c6f24e4d;--scrim:#14150f6b;--shadow-dialog:0 40px 90px #14150f2e}}
.icon{flex:none}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.shell{background:var(--ground);min-height:100vh;display:flex}.sidebar{width:var(--sidebar-w);padding:var(--s5) var(--s3);background:var(--surface-1);border-right:1px solid var(--line-soft);height:100vh;transition:width var(--t-control) var(--e-standard);flex-direction:column;flex:none;display:flex;position:sticky;top:0;overflow:hidden}.nav-label,.soon,.brand-word,.rail-account-text,.rail-label{transition:opacity var(--t-micro) var(--e-exit)}.shell.collapsed .sidebar{width:var(--sidebar-collapsed-w);padding-left:var(--s2);padding-right:var(--s2);align-items:center}.shell.collapsed .nav-label,.shell.collapsed .soon,.shell.collapsed .brand-word,.shell.collapsed .rail-account-text,.shell.collapsed .rail-label{opacity:0;white-space:nowrap;pointer-events:none;flex:none;width:0;min-width:0;overflow:hidden}.shell.collapsed .rail-label{height:0;margin:0}.shell.collapsed .navitem,.shell.collapsed .rail-account{justify-content:center;gap:0;width:44px;padding:0}.shell.collapsed .rail-account{background:0 0;border-color:#0000}.shell.collapsed .brand{justify-content:center;gap:0;padding:0}.shell.collapsed .railtop{gap:var(--s2);flex-direction:column;height:auto}.shell.collapsed .rail-rule{display:block}.rail-rule{background:var(--line-soft);width:24px;height:1px;margin:var(--s4) 0;flex:none;display:none}.railtop{align-items:center;gap:var(--s2);flex:none;height:44px;display:flex}.railtoggle{border:1px solid var(--line);background:var(--surface-2);width:32px;height:32px;color:var(--muted);transition:color var(--t-micro) var(--e-standard), border-color var(--t-micro) var(--e-standard), transform var(--t-press) var(--e-standard);border-radius:10px;flex:none;justify-content:center;align-items:center;display:flex}.railtoggle:hover{color:var(--text);border-color:var(--muted-dim)}.railtoggle:active{transform:scale(.92)}.pagewrap{flex-grow:1;justify-content:center;min-width:0;display:flex}.brand{height:44px;padding:0 var(--s3);letter-spacing:-.5px;color:var(--text);align-items:center;gap:10px;font-size:19px;font-weight:800;display:flex}.brand-glyph{color:var(--accent-ink);display:flex}.nav{flex-direction:column;gap:2px;display:flex}.brand+.nav{margin-top:var(--s6)}.navitem{align-items:center;gap:var(--s3);height:40px;padding:0 var(--s3);border-radius:var(--r-sm);color:var(--muted);font-size:14px;font-weight:500;transition:background .12s,color .12s;display:flex}.nav-label{flex-grow:1}a.navitem:hover{background:var(--surface-2);color:var(--text)}.navitem[aria-current=page]{background:var(--accent-wash);color:var(--accent-ink);font-weight:600}.soon-item{color:var(--muted-dim);cursor:default}.soon{font-family:var(--mono);letter-spacing:1px;color:var(--muted-dim);border:1px solid var(--line-soft);border-radius:var(--r-full);padding:2px 6px;font-size:9px}.rail-label{font-family:var(--mono);letter-spacing:1.4px;color:var(--muted-dim);padding:0 var(--s3);margin:28px 0 var(--s2);font-size:10px;font-weight:400}.rail-gap{min-height:var(--s6);flex-grow:1}.rail-account{padding:10px var(--s3);border-radius:var(--r-sm);border:1px solid var(--line-soft);background:var(--surface-2);align-items:center;gap:10px;transition:border-color .12s;display:flex}.rail-account:hover{border-color:var(--line)}.rail-account[aria-current=page]{border-color:var(--accent-ink)}.rail-account-text{flex-grow:1;min-width:0}.rail-account-name{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:600;display:block;overflow:hidden}.rail-account-email{color:var(--muted-dim);text-overflow:ellipsis;white-space:nowrap;font-size:11px;display:block;overflow:hidden}.avatar{border-radius:var(--r-full);background:var(--accent-wash);width:64px;height:64px;color:var(--accent-ink);flex:none;justify-content:center;align-items:center;font-size:26px;font-weight:800;display:flex}.avatar.sm{width:28px;height:28px;font-size:12px;font-weight:700}.page{width:100%;max-width:var(--page-max);padding:var(--s7) var(--s7) var(--s9)}.pagehead{align-items:center;gap:var(--s4);margin-bottom:28px;display:flex}h1.title{letter-spacing:-.8px;flex-grow:1;margin:0;font-size:30px;font-weight:800}.backlink{align-items:center;gap:var(--s1);color:var(--muted);margin-bottom:var(--s5);border-radius:var(--r-sm);font-size:14px;display:inline-flex}.backlink:hover{color:var(--text)}.muted{color:var(--muted)}.mono{font-family:var(--mono);font-variant-numeric:tabular-nums}.grow{flex-grow:1;min-width:0}.loadingmore{margin-top:var(--s5)}.unit{font-family:var(--mono);color:var(--muted);margin-left:4px;font-size:11px;font-weight:500}.pill{font-family:var(--mono);letter-spacing:1px;color:var(--muted);border:1px solid var(--line);border-radius:var(--r-full);flex:none;padding:3px 7px;font-size:9px}.pill.accent{color:var(--accent-ink);border-color:var(--accent-ink);padding:3px 8px}.btn{justify-content:center;align-items:center;gap:var(--s2);height:44px;padding:0 var(--s5);border-radius:var(--r-full);background:var(--accent);color:var(--accent-on);font-size:15px;font-weight:700;transition:background .12s;display:inline-flex}.btn:hover:not(:disabled){background:var(--accent-pressed)}.btn:disabled{opacity:.4}.btn.secondary{background:var(--surface-2);color:var(--text);font-weight:600}.btn.secondary:hover:not(:disabled){background:var(--surface-3)}.btn.danger{background:var(--danger);color:var(--on-danger)}.btn.danger:hover:not(:disabled){background:var(--danger);filter:brightness(1.08)}.ghost{justify-content:center;align-items:center;gap:var(--s2);border-radius:var(--r-full);border:1px solid var(--line);height:44px;color:var(--text);background:0 0;padding:0 18px;font-size:15px;font-weight:600;transition:background .12s,border-color .12s;display:inline-flex}.ghost:hover:not(:disabled){background:var(--surface-2)}.ghost:disabled{opacity:.4}.ghost.small{height:38px;padding:0 var(--s4);font-size:14px}.ghost.danger{color:var(--danger);border-color:var(--danger-line)}.ghost.danger:hover:not(:disabled){background:var(--danger-wash)}.segmented{gap:var(--s1);padding:var(--s1);border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface-2);display:inline-flex}.segmented button{height:40px;padding:0 var(--s4);border-radius:var(--r-sm);color:var(--muted);justify-content:center;align-items:center;font-size:14px;font-weight:600;transition:background .12s,color .12s;display:flex}.segmented button:hover[aria-pressed=false]{color:var(--text)}.segmented button[aria-pressed=true]{background:var(--accent);color:var(--accent-on);font-weight:700}.segmented.wide{max-width:340px;margin-bottom:var(--s7);display:flex}.segmented.wide button{flex-grow:1}.segmented.tight{border-radius:14px}.segmented.tight button{width:60px;height:34px;font-family:var(--mono);border-radius:10px;padding:0;font-size:13px}.segmented.tight.sm button{border-radius:var(--r-sm);width:56px;height:40px}.form{gap:var(--s6);flex-direction:column;max-width:560px;display:flex}.field{display:block}.fieldlabel{color:var(--muted);margin-bottom:var(--s2);font-size:13px;font-weight:600;display:block}.fieldhint{margin:var(--s1) 0 0;color:var(--muted-dim);font-size:12px}.field input{width:100%;height:52px;padding:0 var(--s4);border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface-2);color:var(--text);font-size:16px}.field input::placeholder{color:var(--muted-dim)}.field input:hover{border-color:var(--line);background:var(--surface-3)}.field input:disabled{color:var(--muted)}.formpair{gap:var(--s5);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.formactions{gap:var(--s3);margin-top:var(--s2);display:flex}.durationrow{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.field input.clockbox{text-align:center;width:84px}.clocksep{color:var(--muted-dim)}.clockhint{letter-spacing:1px;color:var(--muted-dim);margin-left:var(--s1);font-size:11px}.distancerow{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.field input.distancebox{width:180px}.derived{height:52px;padding:0 var(--s4);border-radius:var(--r-md);background:var(--accent-wash);color:var(--text);border:1px solid #0000;align-items:center;gap:10px;font-size:16px;display:flex}.weekstrip{align-items:center;gap:var(--s8);padding:var(--s6);border:1px solid var(--line-soft);border-radius:var(--r-xl);background:var(--surface-1);margin-bottom:var(--s7);flex-wrap:wrap;display:flex}.weekbig{flex:none;min-width:120px}.weekbig-label{letter-spacing:1.2px;color:var(--muted-dim);font-size:11px}.weekbig-value{color:var(--text);margin-top:6px;font-size:26px;font-weight:700}.weekbig-value .unit{font-size:12px}.weekbars{flex-grow:1;align-items:flex-end;gap:10px;min-width:200px;max-width:320px;display:flex}.weekday{align-items:center;gap:var(--s2);flex-direction:column;flex-grow:1;display:flex}.weekbar-track{align-items:flex-end;width:100%;height:72px;display:flex}.weekbar{background:var(--accent);border-radius:6px;width:100%}.weekbar.rest{background:var(--line-soft)}.weekday-letter{color:var(--muted-dim);font-size:10px}.monthgroup{margin-bottom:var(--s7)}.monthlabel{margin:0 0 var(--s4);padding:0;font-size:11px}.grid{gap:var(--s5);grid-template-columns:repeat(auto-fill,minmax(min(300px,100%),1fr));align-items:start;display:grid}.card{border:1px solid var(--line-soft);border-radius:var(--r-xl);background:var(--surface-1);flex-direction:column;transition:border-color .12s,transform .12s;display:flex;overflow:hidden}a.card:hover{border-color:var(--muted-dim);transform:translateY(-2px)}.route{background:var(--surface-3);width:100%;height:150px;display:block}.route path{fill:none;stroke:var(--accent-ink);stroke-width:2.6px;stroke-linecap:round;stroke-linejoin:round}.route .start{fill:none;stroke:var(--accent-ink);stroke-width:2.4px}.route .finish{fill:var(--accent-ink);stroke:none}.cardbody{padding:var(--s4)}.cardhead{align-items:center;gap:var(--s2);display:flex}.cardtitle{flex-grow:1;margin:0;font-size:16px;font-weight:700}.cardwhen{font-family:var(--mono);font-variant-numeric:tabular-nums;color:var(--muted);margin:var(--s1) 0 0;font-size:12px}.stats{border-top:1px solid var(--line-soft);display:flex}.stat{min-width:0;padding:var(--s3) var(--s4);color:var(--text);flex-grow:1;flex-basis:0;font-size:17px;font-weight:700}.stat+.stat{border-left:1px solid var(--line-soft)}.empty{text-align:center;padding:var(--s9) var(--s5);color:var(--muted);border:1px solid var(--line-soft);border-radius:var(--r-xl);background:var(--surface-1)}.empty h3{color:var(--text);margin:0 0 var(--s2);font-size:18px}.empty p{margin:0 0 var(--s5)}.banner{padding:var(--s3) var(--s4);border-radius:var(--r-lg);border:1px solid var(--danger);background:var(--danger-wash);color:var(--text);margin-bottom:var(--s5);font-size:14px}.banner.info{border-color:var(--info);background:color-mix(in srgb, var(--info) 12%, transparent)}.detail{gap:var(--s6);grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;display:grid}.hero{border:1px solid var(--line-soft);border-radius:var(--r-xl);background:var(--surface-1);grid-column:span 2;position:relative;overflow:hidden}.heromap{position:relative}.detailside{gap:var(--s5);flex-direction:column;display:flex}.plate{background:var(--surface-3);position:relative}.plate-grid{opacity:.28;width:100%;height:100%;position:absolute;inset:0}.plate-grid path{stroke:var(--line);stroke-width:.6px;fill:none;vector-effect:non-scaling-stroke}.route.plate-route{background:0 0;height:100%;position:absolute;inset:0}.route.plate-route path{stroke-width:3.2px}.herohead{align-items:flex-end;gap:var(--s4);padding:var(--s5) var(--s6);display:flex}.herohead.over{z-index:1;padding:0 var(--s6) var(--s5);position:absolute;bottom:0;left:0;right:0}.herohead.over:before{content:"";background:linear-gradient(to top, var(--ground) 12%, transparent 100%);z-index:-1;height:200px;position:absolute;bottom:0;left:0;right:0}.herohead.over>*{position:relative}.herotitle{letter-spacing:-1.2px;margin:0;font-size:38px;font-weight:800}.herowhen{color:var(--muted);margin:6px 0 0;font-size:13px}.heroactions{flex:none;gap:10px;display:flex}.herometrics{border-top:1px solid var(--line-soft);flex-wrap:wrap;display:flex}.metric{min-width:130px;padding:var(--s5);flex-grow:1;flex-basis:0}.metric+.metric{border-left:1px solid var(--line-soft)}.metriclabel{letter-spacing:1.3px;color:var(--muted-dim);font-size:10px}.metricvalue{letter-spacing:-.6px;margin-top:var(--s2);font-size:28px;font-weight:700}.metricvalue .unit{margin-left:5px;font-size:12px}.panel{border:1px solid var(--line-soft);border-radius:var(--r-xl);background:var(--surface-1);padding:var(--s5)}.paneltitle{margin:0 0 var(--s1);font-size:16px;font-weight:700}.panelsub{margin:0 0 var(--s3);color:var(--muted-dim);font-size:12px}.split{align-items:center;gap:var(--s4);height:36px;display:flex}.split-index{width:28px;color:var(--muted);flex:none;font-size:12px}.split-track{border-radius:var(--r-full);background:var(--surface-3);flex-grow:1;height:8px;overflow:hidden}.split-bar{border-radius:var(--r-full);background:var(--line);height:100%}.split-bar.best{background:var(--accent)}.split-value{text-align:right;flex:none;width:52px;font-size:13px}.rowlist{gap:var(--s3);flex-direction:column;display:flex}.detailrow{align-items:center;gap:var(--s3);color:var(--muted);font-size:14px;display:flex}.detailrow .mono{color:var(--text);font-size:13px}.importgrid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:28px;display:grid}.importcol{gap:var(--s6);flex-direction:column;display:flex}.dropzone{text-align:center;padding:var(--s8);border:1.5px dashed var(--line);border-radius:var(--r-xl);background:var(--surface-1);color:var(--muted-dim);flex-direction:column;align-items:center;gap:14px;transition:border-color .12s,background .12s;display:flex}.dropzone.over{border-color:var(--accent-ink);background:var(--accent-wash)}.dropzone h3{color:var(--text);margin:0;font-size:17px;font-weight:700}.dropzone p{color:var(--muted);max-width:340px;margin:0;font-size:14px}.card.static{cursor:default}.filehead{align-items:center;gap:var(--s3);padding:var(--s4) var(--s5);border-bottom:1px solid var(--line-soft);display:flex}.fileok{color:var(--accent-ink);display:flex}.filename{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:14px;overflow:hidden}.filenote{color:var(--muted-dim);margin-top:2px;font-size:12px}.importstats{border-top:1px solid var(--line-soft);flex-wrap:wrap;display:flex}.importstat{min-width:100px;padding:var(--s4);flex-grow:1;flex-basis:0}.importstat+.importstat{border-left:1px solid var(--line-soft)}.importstat-value{margin-top:6px;font-size:20px;font-weight:700}.identity{align-items:center;gap:var(--s5);padding:var(--s6);border:1px solid var(--line-soft);border-radius:var(--r-xl);background:var(--surface-1);margin-bottom:28px;display:flex}.identity-name{font-size:22px;font-weight:700}.identity-email{color:var(--muted);margin-top:var(--s1);text-overflow:ellipsis;font-size:13px;overflow:hidden}.statcards{gap:var(--s5);grid-template-columns:repeat(auto-fit,minmax(min(200px,100%),1fr));margin-bottom:28px;display:grid}.statcard{padding:var(--s6);border:1px solid var(--line-soft);border-radius:var(--r-xl);background:var(--surface-1)}.statcard-value{letter-spacing:-1px;margin-top:10px;font-size:34px;font-weight:700}.statcard-value .unit{margin-left:6px;font-size:13px}.group{margin-bottom:28px}.group>.rail-label{margin:0 0 var(--s3);padding:0;font-size:11px}.rows{border:1px solid var(--line-soft);border-radius:var(--r-xl);background:var(--surface-1);overflow:hidden}.settingrow{align-items:center;gap:var(--s4);padding:18px var(--s5);display:flex}.settingrow+.settingrow{border-top:1px solid var(--line-soft)}.settingrow-label{font-size:15px;font-weight:600}.settingrow-label.danger{color:var(--danger)}.settingrow-sub{color:var(--muted-dim);margin-top:3px;font-size:12px}.scrim{z-index:50;padding:var(--s5);background:var(--scrim);place-items:center;display:grid;position:fixed;inset:0}.dialog{width:min(440px,100%);padding:var(--s7);border:1px solid var(--line);border-radius:var(--r-xxl);background:var(--surface-1);box-shadow:var(--shadow-dialog);gap:var(--s5);flex-direction:column;display:flex}.dialog.wide{width:min(520px,100%)}.dialoghead{align-items:center;gap:14px;display:flex}.dialog h2{flex-grow:1;margin:0;font-size:22px;font-weight:700}.dialog p{color:var(--muted);margin:0;font-size:15px;line-height:1.55}.dialog p strong{color:var(--text)}.dialognote{font-size:14px}.dialogicon{border-radius:var(--r-full);flex:none;justify-content:center;align-items:center;width:44px;height:44px;display:flex}.dialogicon.danger{background:var(--danger-wash);color:var(--danger)}.exportnudge{align-items:center;gap:var(--s3);padding:var(--s4);border:1px solid var(--line-soft);border-radius:var(--r-md);background:var(--surface-2);color:var(--muted);display:flex}.exportnudge-title{color:var(--text);font-size:14px;font-weight:600}.exportnudge-sub{color:var(--muted-dim);margin-top:2px;font-size:12px}.dialog .actions{gap:var(--s3);display:flex}.reauth{justify-content:center;display:flex}.signin{min-height:100vh;padding:var(--s6);background:var(--ground);place-items:center;display:grid;position:relative;overflow:hidden}.signin-bg{width:100%;height:100%;position:absolute;inset:0}.signin-bg path{stroke:var(--accent-ink)}.signin-veil{background:radial-gradient(ellipse 70% 55% at 50% 50%, color-mix(in srgb, var(--ground) 40%, transparent) 0%, var(--ground) 78%);position:absolute;inset:0}.signin-card{text-align:center;flex-direction:column;align-items:center;width:min(400px,100%);display:flex;position:relative}.signin-glyph{color:var(--accent-ink);display:flex}.signin-mark{margin:var(--s5) 0 0;letter-spacing:-2px;font-size:46px;font-weight:800}.signin-tagline{font-family:var(--mono);letter-spacing:2.4px;color:var(--muted-dim);margin:10px 0 0;font-size:11px}.signin-blurb{color:var(--muted);max-width:320px;margin:28px 0 0;font-size:15px;line-height:1.6}.signin-card .banner{margin:var(--s6) 0 0;text-align:left}.signin-button{justify-content:center;min-height:44px;margin-top:36px;display:flex}.signin-button[hidden]{display:none}.signin-busy{margin-top:36px}.signin-fine{margin:var(--s5) 0 0;color:var(--muted-dim);max-width:300px;font-size:12px;line-height:1.6}@media (max-width:900px){.shell{flex-direction:column}.sidebar{align-items:center;gap:var(--s2);width:100%;height:auto;padding:var(--s3) var(--s4);border-right:none;border-bottom:1px solid var(--line-soft);z-index:10;flex-direction:row;overflow-x:auto}.brand+.nav{margin-top:0}.nav{flex-direction:row}.navitem{white-space:nowrap}.rail-label,.rail-gap{display:none}.rail-account{box-shadow:-16px 0 16px 8px var(--surface-1), 20px 0 0 4px var(--surface-1);flex:none;margin-left:auto;position:sticky;right:0}.rail-account-text{display:none}.page{padding:var(--s6) var(--s5) var(--s8)}.detail{grid-template-columns:minmax(0,1fr)}.hero{grid-column:auto}.importgrid{grid-template-columns:minmax(0,1fr)}.herotitle{font-size:28px}.herohead{flex-direction:column;align-items:stretch}.heroactions{justify-content:flex-end}}@media (max-width:560px){.formpair{grid-template-columns:minmax(0,1fr)}.weekstrip{gap:var(--s5)}.weekbars{max-width:none}.clockhint{display:none}.dialog .actions{flex-direction:column}.dialog .actions>*{width:100%}}@keyframes tempo-rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}@keyframes tempo-fade{0%{opacity:0}to{opacity:1}}@keyframes tempo-pop{0%{opacity:0;transform:scale(.96)translateY(8px)}to{opacity:1;transform:none}}@keyframes tempo-grow{0%{transform:scaleY(0)}to{transform:scaleY(1)}}@keyframes tempo-draw{0%{stroke-dashoffset:var(--trace-len,1200)}to{stroke-dashoffset:0}}@keyframes tempo-shimmer{0%{background-position:-320px 0}to{background-position:320px 0}}.page>*{animation:tempo-rise var(--t-enter) var(--e-enter) both}.trace{stroke-dasharray:var(--trace-len,1200);animation:tempo-draw var(--t-trace) var(--e-enter) both}.grid>*{animation:tempo-rise var(--t-enter) var(--e-enter) both}.grid>:first-child{animation-delay:calc(var(--stagger) * 0)}.grid>:nth-child(2){animation-delay:calc(var(--stagger) * 1)}.grid>:nth-child(3){animation-delay:calc(var(--stagger) * 2)}.grid>:nth-child(4){animation-delay:calc(var(--stagger) * 3)}.grid>:nth-child(5){animation-delay:calc(var(--stagger) * 4)}.grid>:nth-child(6){animation-delay:calc(var(--stagger) * 5)}.grid>:nth-child(7){animation-delay:calc(var(--stagger) * 6)}.grid>:nth-child(n+8){animation-delay:calc(var(--stagger) * 7)}.grid>:nth-child(2) .trace{animation-delay:calc(var(--stagger) * 1)}.grid>:nth-child(3) .trace{animation-delay:calc(var(--stagger) * 2)}.grid>:nth-child(4) .trace{animation-delay:calc(var(--stagger) * 3)}.grid>:nth-child(5) .trace{animation-delay:calc(var(--stagger) * 4)}.grid>:nth-child(6) .trace{animation-delay:calc(var(--stagger) * 5)}.grid>:nth-child(7) .trace{animation-delay:calc(var(--stagger) * 6)}.grid>:nth-child(n+8) .trace{animation-delay:calc(var(--stagger) * 7)}.grid.paged>*,.grid.paged>* .trace{animation:none}.weekbar{animation:tempo-grow var(--t-enter) var(--e-enter) both;transform-origin:bottom}.weekday:nth-child(2) .weekbar{animation-delay:60ms}.weekday:nth-child(3) .weekbar{animation-delay:.12s}.weekday:nth-child(4) .weekbar{animation-delay:.18s}.weekday:nth-child(5) .weekbar{animation-delay:.24s}.weekday:nth-child(6) .weekbar{animation-delay:.3s}.weekday:nth-child(7) .weekbar{animation-delay:.36s}.scrim{animation:tempo-fade var(--t-control) var(--e-standard) both}.dialog{animation:tempo-pop var(--t-enter) var(--e-enter) both}.card{transition:transform var(--t-micro) var(--e-standard), border-color var(--t-micro) var(--e-standard)}.card:hover{border-color:var(--line);transform:translateY(-2px)}.card:active{transition-duration:var(--t-press);transform:translateY(0)}button:active:not(:disabled),.btn:active{transform:scale(.97)}button,.btn{transition:background var(--t-micro) var(--e-standard), border-color var(--t-micro) var(--e-standard), color var(--t-micro) var(--e-standard), transform var(--t-press) var(--e-standard)}.skeleton{background-image:linear-gradient(90deg, var(--surface-2) 0%, var(--surface-3) 42%, var(--surface-3) 58%, var(--surface-2) 100%);border-radius:var(--r-md);background-size:320px 100%;animation:1.6s linear infinite tempo-shimmer}.cardskeleton{border:1px solid var(--line-soft);border-radius:var(--r-xl);background:var(--surface-1);padding:0 0 var(--s4);gap:var(--s3);flex-direction:column;display:flex;overflow:hidden}.skeleton-route{border-radius:0;height:150px}.skeleton-line{height:11px;margin:0 var(--s4);width:45%}.skeleton-line.wide{width:70%;height:14px;margin-top:var(--s1)}
.nav-glyph{flex:none;display:inline-flex;position:relative}.nav-dot{border-radius:var(--r-full);background:var(--accent);width:8px;height:8px;box-shadow:0 0 0 2px var(--surface-1);display:none;position:absolute;top:-2px;right:-3px}.nav-count{border-radius:var(--r-full);background:var(--accent);min-width:22px;color:var(--accent-on);text-align:center;margin-left:auto;padding:1px 7px;font-size:11px;font-weight:700}.shell.collapsed .nav-count{display:none}.shell.collapsed .nav-dot{display:block}.eyebrow{font-family:var(--mono);letter-spacing:1.3px;color:var(--muted-dim);text-transform:uppercase;font-size:10px}.sectionhead{align-items:baseline;gap:var(--s3);margin:var(--s7) 0 var(--s3);display:flex}.sectionhead h2{flex-grow:1;margin:0;font-size:18px;font-weight:700}.toolbar{align-items:center;gap:var(--s3);flex-wrap:wrap;display:flex}.toolbar .grow{flex-grow:1}.chip{border-radius:var(--r-full);border:1px solid var(--line);height:26px;color:var(--muted);white-space:nowrap;align-items:center;gap:6px;padding:0 10px;font-size:12px;font-weight:600;display:inline-flex}.chip.accent{color:var(--accent-ink);border-color:color-mix(in srgb, var(--accent-ink) 45%, transparent);background:var(--accent-wash)}.chip.warn{color:var(--warn);border-color:color-mix(in srgb, var(--warn) 45%, transparent)}.chip.danger{color:var(--danger);border-color:var(--danger-line)}.chip.info{color:var(--info);border-color:color-mix(in srgb, var(--info) 45%, transparent)}.dot{border-radius:var(--r-full);background:var(--muted-dim);flex:none;width:8px;height:8px}.dot.on{background:var(--accent)}.dot.wait{background:var(--warn)}.iconbtn{border-radius:var(--r-sm);width:34px;height:34px;color:var(--muted);transition:background var(--t-micro) var(--e-standard), color var(--t-micro) var(--e-standard);justify-content:center;align-items:center;display:inline-flex}.iconbtn:hover:not(:disabled){background:var(--surface-3);color:var(--text)}.iconbtn:disabled{opacity:.35}.iconbtn.danger:hover:not(:disabled){background:var(--danger-wash);color:var(--danger)}.textarea,.select,.input{border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface-2);width:100%;color:var(--text);font:inherit;font-size:15px}.input,.select{height:44px;padding:0 var(--s3)}.input.small,.select.small{border-radius:var(--r-sm);height:36px;font-size:14px}.input.mono{font-family:var(--mono)}.input.invalid{border-color:var(--danger)}.textarea{padding:var(--s3);resize:vertical;min-height:84px;line-height:1.5}.input::placeholder,.textarea::placeholder{color:var(--muted-dim)}.meter{border-radius:var(--r-full);background:var(--surface-3);height:6px;overflow:hidden}.meter>span{border-radius:var(--r-full);background:var(--accent);height:100%;transition:width var(--t-enter) var(--e-enter);display:block}.avatar.md{width:36px;height:36px;font-size:14px;font-weight:700}.wsteps{gap:var(--s2);flex-direction:column;display:flex}.wstep{align-items:center;gap:var(--s3);min-height:46px;padding:var(--s2) var(--s3) var(--s2) 0;border-radius:var(--r-sm);background:var(--surface-2);grid-template-columns:4px 110px minmax(0,1fr) auto;display:grid;overflow:hidden}.wstep-bar{background:var(--line);align-self:stretch}.wstep[data-kind=RUN] .wstep-bar{background:var(--accent)}.wstep[data-kind=WARMUP] .wstep-bar,.wstep[data-kind=COOLDOWN] .wstep-bar{background:var(--info)}.wstep[data-kind=RECOVERY] .wstep-bar{background:var(--muted-dim)}.wstep-kind{color:var(--muted);font-size:13px;font-weight:600}.wstep-length{font-family:var(--mono);font-size:15px;font-weight:600}.wstep-note{color:var(--muted-dim);margin-top:2px;font-size:12px}.wstep-target{font-family:var(--mono);color:var(--text);text-align:right;font-size:13px}.wrepeat{border:1px dashed var(--line);border-radius:var(--r-md);padding:var(--s2);gap:var(--s2);flex-direction:column;display:flex}.wrepeat-head{align-items:center;gap:var(--s2);padding:2px var(--s2);color:var(--accent-ink);font-size:13px;font-weight:700;display:flex}.wsummary{color:var(--muted);font-size:13px;line-height:1.5}.builder{gap:var(--s4);flex-direction:column;display:flex}.bstep{gap:var(--s3);padding:var(--s3) var(--s3) var(--s3) 0;border:1px solid var(--line-soft);border-radius:var(--r-md);background:var(--surface-2);animation:tempo-rise var(--t-control) var(--e-enter) both;grid-template-columns:4px minmax(0,1fr) auto;display:grid}.bstep .wstep-bar{border-radius:0 4px 4px 0}.bstep[data-kind=RUN] .wstep-bar{background:var(--accent)}.bstep[data-kind=WARMUP] .wstep-bar,.bstep[data-kind=COOLDOWN] .wstep-bar{background:var(--info)}.bstep[data-kind=RECOVERY] .wstep-bar{background:var(--muted-dim)}.bstep-body{gap:var(--s3);flex-direction:column;min-width:0;display:flex}.bstep-line{align-items:center;gap:var(--s2);flex-wrap:wrap;display:flex}.bstep-line .eyebrow{flex:none;width:64px}.bstep-tools{flex-direction:column;gap:2px;display:flex}.brepeat{border:1px dashed color-mix(in srgb, var(--accent-ink) 50%, var(--line));border-radius:var(--r-lg);padding:var(--s3);gap:var(--s3);animation:tempo-rise var(--t-control) var(--e-enter) both;flex-direction:column;display:flex}.brepeat-head{align-items:center;gap:var(--s2);display:flex}.brepeat-head strong{color:var(--accent-ink);font-size:14px}.input.times{text-align:center;width:64px}.input.clock{text-align:center;width:84px}.input.dist{text-align:right;width:96px}.unitlabel{font-family:var(--mono);color:var(--muted);font-size:12px}.pills{border-radius:var(--r-sm);background:var(--surface-3);gap:4px;padding:3px;display:inline-flex}.pills button{height:30px;color:var(--muted);border-radius:8px;padding:0 10px;font-size:13px;font-weight:600}.pills button[aria-pressed=true]{background:var(--surface-1);color:var(--text);box-shadow:0 0 0 1px var(--line)}.builder-foot{align-items:center;gap:var(--s4);padding:var(--s3) var(--s4);border-radius:var(--r-md);background:var(--surface-2);display:flex}.builder-error{color:var(--danger);font-size:13px}.weeknav{align-items:center;gap:var(--s2);display:flex}.weeknav-label{text-align:center;min-width:140px;font-weight:700}.weekgrid{gap:var(--s2);grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.daycol{gap:var(--s2);min-height:180px;padding:var(--s2);border:1px solid var(--line-soft);border-radius:var(--r-lg);background:var(--surface-1);transition:border-color var(--t-micro) var(--e-standard);flex-direction:column;display:flex}.daycol.today{border-color:color-mix(in srgb, var(--accent-ink) 60%, transparent)}.daycol.drop{border-color:var(--accent);background:var(--accent-wash)}.dayhead{padding:2px 4px var(--s1);align-items:baseline;gap:6px;display:flex}.dayhead .eyebrow{color:var(--muted)}.dayhead .daynum{font-family:var(--mono);color:var(--muted-dim);font-size:13px}.daycol.today .daynum{color:var(--accent-ink);font-weight:700}.dayadd{border-radius:var(--r-sm);height:30px;color:var(--muted-dim);border:1px dashed #0000;margin-top:auto;font-size:13px}.daycol:hover .dayadd{border-color:var(--line);color:var(--muted)}.dayadd:hover{color:var(--text);background:var(--surface-2)}.wcard{width:100%;padding:var(--s3);border-radius:var(--r-md);border:1px solid var(--line-soft);background:var(--surface-2);text-align:left;color:var(--text);animation:tempo-rise var(--t-control) var(--e-enter) both;transition:border-color var(--t-micro) var(--e-standard), transform var(--t-press) var(--e-standard);flex-direction:column;gap:6px;display:flex}.wcard:hover{border-color:var(--line)}.wcard[aria-pressed=true]{border-color:var(--accent-ink)}.wcard-title{font-size:14px;font-weight:700;line-height:1.3}.wcard-sub{color:var(--muted);font-size:12px;line-height:1.4}.wcard-meta{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.wcard.done{border-color:color-mix(in srgb, var(--accent-ink) 40%, transparent)}.wcard.missed{opacity:.75}.wcard[draggable=true]{cursor:grab}.wcard-meta .chip{text-overflow:ellipsis;max-width:100%;line-height:24px;display:inline-block;overflow:hidden}.wcard-meta .chip .icon{vertical-align:-2px}.planlayout{gap:var(--s6);grid-template-columns:minmax(0,1fr);display:grid}.workoutpanel{gap:var(--s5);grid-template-columns:minmax(0,3fr) minmax(0,2fr);align-items:start;display:grid}.compare{gap:var(--s2) var(--s4);grid-template-columns:auto 1fr 1fr;align-items:baseline;font-size:14px;display:grid}.compare .eyebrow{align-self:center}.compare .mono{font-size:15px}.effort{flex-wrap:wrap;gap:4px;display:flex}.effort button{border-radius:var(--r-sm);background:var(--surface-3);width:34px;height:34px;font-family:var(--mono);color:var(--muted);font-size:13px}.effort button[aria-pressed=true]{background:var(--accent);color:var(--accent-on);font-weight:700}.table{border:1px solid var(--line-soft);border-radius:var(--r-xl);background:var(--surface-1);overflow:hidden}.thead,.trow{align-items:center;gap:var(--s4);padding:0 var(--s5);display:grid}.thead{border-bottom:1px solid var(--line-soft);height:40px}.thead>*{font-family:var(--mono);letter-spacing:1.3px;color:var(--muted-dim);font-size:10px}.trow{min-height:64px;color:var(--text);animation:tempo-rise var(--t-control) var(--e-enter) both}.trow+.trow{border-top:1px solid var(--line-soft)}a.trow:hover{background:var(--surface-2)}.who{align-items:center;gap:var(--s3);min-width:0;display:flex}.who-name{white-space:nowrap;text-overflow:ellipsis;font-weight:600;overflow:hidden}.who-sub{color:var(--muted-dim);white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.status{color:var(--muted);align-items:center;gap:6px;font-size:13px;display:inline-flex}.classgrid{gap:var(--s4);grid-template-columns:repeat(auto-fill,minmax(280px,1fr));display:grid}.classcard{gap:var(--s3);padding:var(--s5);border:1px solid var(--line-soft);border-radius:var(--r-xl);background:var(--surface-1);color:var(--text);animation:tempo-rise var(--t-control) var(--e-enter) both;transition:border-color var(--t-micro) var(--e-standard);flex-direction:column;display:flex}a.classcard:hover{border-color:var(--line)}.classcard h3{margin:0;font-size:17px;font-weight:700}.classcard p{color:var(--muted);margin:0;font-size:13px;line-height:1.5}.classcard .actions{gap:var(--s2);flex-wrap:wrap;margin-top:auto;display:flex}.invitebox{align-items:center;gap:var(--s3);padding:var(--s3) var(--s3) var(--s3) var(--s4);border-radius:var(--r-md);background:var(--surface-2);border:1px solid var(--line-soft);display:flex}.invitebox code{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-family:var(--mono);color:var(--muted);flex-grow:1;font-size:13px;overflow:hidden}.consent{padding:var(--s4);border-radius:var(--r-md);border:1px solid color-mix(in srgb, var(--info) 40%, transparent);background:color-mix(in srgb, var(--info) 10%, transparent);font-size:14px;line-height:1.55}.thread{gap:var(--s3);flex-direction:column;display:flex}.comment{gap:var(--s3);animation:tempo-rise var(--t-control) var(--e-enter) both;display:flex}.comment-body{flex-grow:1;min-width:0}.comment-head{align-items:baseline;gap:var(--s2);font-size:13px;display:flex}.comment-head strong{font-weight:700}.comment-text{white-space:pre-wrap;overflow-wrap:anywhere;margin-top:2px;font-size:14px;line-height:1.5}.composer{gap:var(--s2);align-items:flex-end;display:flex}.composer .textarea{height:44px;min-height:44px}.inboxrow{align-items:flex-start;gap:var(--s4);padding:var(--s4) var(--s5);color:var(--text);animation:tempo-rise var(--t-control) var(--e-enter) both;display:flex}.inboxrow+.inboxrow{border-top:1px solid var(--line-soft)}a.inboxrow:hover,button.inboxrow:hover{background:var(--surface-2)}button.inboxrow{text-align:left;width:100%}.inboxicon{border-radius:var(--r-full);background:var(--surface-3);width:36px;height:36px;color:var(--muted);flex:none;justify-content:center;align-items:center;display:flex}.inboxrow.unread .inboxicon{background:var(--accent-wash);color:var(--accent-ink)}.inboxrow-title{font-size:15px;font-weight:600}.inboxrow.unread .inboxrow-title:after{content:"";vertical-align:middle;border-radius:var(--r-full);background:var(--accent);width:7px;height:7px;margin-left:8px;display:inline-block}.inboxrow-body{color:var(--muted);margin-top:2px;font-size:13px}.inboxrow-when{color:var(--muted-dim);flex:none;font-size:12px}@media (max-width:1100px){.weekgrid{grid-template-columns:minmax(0,1fr)}.daycol{min-height:0}.workoutpanel{grid-template-columns:minmax(0,1fr)}}@media (max-width:640px){.wstep{grid-template-columns:4px 84px minmax(0,1fr)}.wstep-target{text-align:left;grid-column:3}.thead{display:none}.trow{padding:var(--s3) var(--s4);grid-template-columns:minmax(0,1fr) auto!important}.trow>.hide-narrow{display:none}}.dialog.xwide{width:min(880px,100%)}.dialog{max-height:calc(100vh - 40px);overflow-y:auto}.brepeat-head .bstep-tools{flex-direction:row}
