/* Browser workspace and guided setup */
:root{--ink:#1e2434;--muted:#576278;--paper:#f7f8fb;--line:#e2e6f0;--purple:#5648cf;--purple-dark:#4335ad;}
html,body{background:var(--paper)}body{padding:0}
.app-shell{width:100%;margin:0;min-height:100dvh;height:auto;overflow:visible;border-radius:0;box-shadow:none}
.screen{width:100%;max-width:1084px;margin:0 auto;padding:20px 18px calc(96px + var(--timer-footer-height, 56px) + env(safe-area-inset-bottom));overflow:visible}
.brand,.nav-caption,.nav-footer{display:none}
.icon-button.soft{border:1px solid var(--line);color:var(--purple)}
.large-heading{font-size:clamp(32px,4.1vw,49px);letter-spacing:-.052em;line-height:1.04}
.dashboard-grid{display:grid;gap:16px}
.dashboard-main{min-width:0}
.dashboard-main>.section-label-row:first-child{margin-top:0}
.active-card.idle{min-height:168px;padding:26px;background:radial-gradient(circle at 92% 0%,#e1dcff,transparent 46%),linear-gradient(125deg,#fdfdff,#f0edff);border-color:#e4dff9}
.idle-cta{font-size:clamp(22px,2.8vw,32px)}
.category-grid{margin-top:12px}
.route-controls{display:flex;align-items:center;gap:12px}
.view-toggle button{display:grid;place-items:center}
.view-toggle{display:inline-flex}
.view-toggle button svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.today-panel{align-self:start;background:white;border:1px solid var(--line);border-radius:22px;padding:22px;box-shadow:var(--small-shadow)}
.today-panel .eyebrow{margin:0}
.screen-nameplate {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  min-height: 56px;
  margin-bottom: 16px;
  padding-block: 4px;
}
.screen-nameplate.is-guest {
  min-height: 76px;
  padding: 12px 16px;
  border: 1px solid var(--line);
  border-radius: 18px;
  background: var(--card);
}
.nameplate-title {
  display: flex;
  align-items: center;
  gap: 12px;
  min-width: 0;
}
.nameplate-title h1 {
  min-width: 0;
  margin: 0;
  color: var(--ink);
  font-size: clamp(22px, 4vw, 30px);
  font-weight: 750;
  line-height: 1.13;
  letter-spacing: -.04em;
  overflow-wrap: anywhere;
}
.nameplate-actions {
  display: flex;
  align-items: center;
  gap: 8px;
  flex: none;
  white-space: nowrap;
}
.nameplate-actions button {
  min-height: 44px;
}
.nameplate-sign-in {
  padding-inline: 8px;
}
.nameplate-actions .primary-button {
  padding: 8px 12px;
  font-size: 13px;
}
.screen-nameplate .account-avatar {
  width: 48px;
  height: 48px;
}
@media (max-width: 360px) {
  .screen-nameplate { gap: 8px; }
  .screen-nameplate.is-guest { padding-inline: 12px; }
  .nameplate-actions { gap: 4px; }
  .nameplate-sign-in { padding-inline: 6px; }
}
.account-card{display:flex;align-items:center;gap:12px;width:100%;min-width:0;padding:14px;border:1px solid var(--line);border-radius:18px;background:white;color:var(--ink);text-align:left;cursor:pointer}
.account-card:hover{border-color:#b7aceb}
.account-card .app-mark{flex:none}
.account-card-copy{display:grid;gap:3px;min-width:0}
.account-card-copy strong,.account-card-copy span{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.account-card-copy strong{font-size:15px}
.account-card-copy span{color:var(--muted);font-size:12px}
.account-card-arrow{margin-left:auto;color:var(--purple);font-size:20px}
.account-avatar{position:relative;display:grid;place-items:center;flex:none;width:44px;height:44px;border-radius:50%;overflow:hidden;background:#e9e3ff;color:var(--purple-dark);font-size:14px;font-weight:760}
.account-avatar img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.account-profile{display:flex;align-items:center;gap:12px;margin-bottom:12px}
.account-profile .subtext{margin:4px 0 0;overflow-wrap:anywhere}
.account-profile-actions{display:flex;gap:8px;flex-wrap:wrap}
.today-total{font-size:36px;font-weight:770;letter-spacing:-1.4px;margin-top:12px;font-variant-numeric:tabular-nums}
.today-breakdown{border-top:1px solid var(--line);margin-top:18px;padding-top:9px;font-size:13px;color:var(--muted);line-height:1.45}
.today-breakdown div{display:flex;justify-content:space-between;gap:12px;padding:6px 0}
.today-breakdown i,.route-choice i,.welcome-meter i{display:inline-block;height:9px;width:9px;border-radius:50%;background:var(--cat,#609eec);margin-right:8px}
.today-panel .text-button{margin-top:9px}
.tabbar-wrap{position:fixed}.tab-button{font-size:11px;color:#606b80}
.week-nav{display:flex;align-items:center;gap:7px;margin:15px 0;max-width:610px}
.week-strip{flex:1;margin:0}.week-arrow{background:white;border:1px solid var(--line);border-radius:10px;min-height:34px;width:32px;cursor:pointer}
.day-button{border-radius:11px}.day-button .date{width:25px;height:25px}
.event-search{display:flex;gap:8px;align-items:center;margin:0 0 8px;max-width:600px}
.event-search input{flex:1;min-width:0;padding:12px;border:1px solid var(--line);border-radius:12px}
.event-filter-row{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}
.event-filter-row .chip-row{min-width:0;padding:5px}
.event-filter-row .icon-button{flex:none}
.event-name,.event-category{display:block;overflow-wrap:anywhere}.event-card{grid-template-columns:7px 58px minmax(0,1fr) auto}
.goal-card{border:0;text-align:left;width:100%}
.bar-segment{min-height:0}.bar-day{font-size:clamp(7px,1.3vw,11px);text-align:center}.bar-chart{gap:5px}.legend{color:var(--muted);font-size:12px}
.welcome{min-height:100dvh;padding:clamp(20px,5vw,48px) 18px;display:grid;align-content:center;justify-items:center;background:radial-gradient(circle at 12% 5%,#ede7ff,transparent 45%),radial-gradient(circle at 95% 80%,#e4ecfa,transparent 44%),var(--paper)}
.welcome-header{display:flex;align-items:center;justify-content:space-between;gap:10px;width:min(100%,590px);margin-bottom:14px}
.welcome-brand{display:flex;gap:9px;align-items:center;font-size:20px;font-weight:770}.welcome-brand img{width:31px;border-radius:9px}
.welcome-sign-in{min-height:40px;padding:8px 12px;border-radius:10px;color:var(--purple-dark);font-size:13px}
.welcome-card{background:white;width:min(100%,590px);border:1px solid #e5e7f1;border-radius:26px;padding:clamp(19px,4.5vw,36px);box-shadow:var(--shadow)}
.welcome-card .eyebrow{display:flex;justify-content:space-between;gap:12px}
.welcome-card h1{font-size:clamp(32px,6vw,54px);line-height:1.02;letter-spacing:-.055em;margin:16px 0 10px}
.welcome-card p,.welcome-note{color:var(--muted);font-size:14px;line-height:1.5}.welcome-note{margin-bottom:0}
.welcome-illustration{height:188px;position:relative;overflow:hidden;border-radius:18px;background:#efeaff;margin:23px 0}
.welcome-illustration svg{width:100%;height:100%;position:absolute;inset:0;fill:#b5a9fc;stroke:#a79bf0;stroke-width:1.3}.welcome-illustration path{fill:none}
.welcome-meter{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);background:white;border:1px solid #eeebfa;box-shadow:var(--small-shadow);padding:16px 24px;border-radius:16px;min-width:180px}
.welcome-meter strong{display:block;margin:4px 0;font-size:31px;letter-spacing:-1.1px;font-variant-numeric:tabular-nums}.welcome-meter span:last-child{font-size:13px;color:var(--muted)}
.welcome-actions{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:22px}.welcome-demo{margin-top:12px}.welcome-actions .primary-button{margin:0}
.choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:19px}.choice-tile{display:grid;text-align:left;align-content:start;gap:5px;min-height:77px;padding:12px;background:#fafaff;border:1px solid var(--line);border-radius:12px;cursor:pointer}.choice-tile[aria-pressed=true],.plan-options button[aria-pressed=true]{background:#f1eeff;border-color:#8478df}.choice-tile span,.choice-tile small{color:var(--muted);font-size:12px;line-height:1.35}.choice-tile.route-choice{display:flex;align-items:center;min-height:47px}.route-choice i{flex:none;margin-right:3px}.route-choice span{margin-left:auto}
.pro-hero{background:#eeebff;border-radius:16px;padding:16px}.pro-hero h3{margin:8px 0;font-size:23px;letter-spacing:-.027em}.pro-hero p{margin:0;color:var(--muted);font-size:14px;line-height:1.45}
.pro-features{padding-left:21px;font-size:14px;line-height:1.65}.plan-options{display:grid;gap:8px}.plan-options button{display:flex;justify-content:space-between;align-items:center;padding:13px;border:1px solid var(--line);border-radius:11px;background:white;cursor:pointer}.plan-options span{color:var(--muted);font-size:13px}
.modal-sheet:focus{outline:none}
.account-content{padding:4px 0 10px}
.account-submit,.account-google{width:100%}
.account-google{margin-top:12px}
.account-provider-link{display:inline-flex;align-items:center;justify-content:center;text-decoration:none}
.legal-links{display:flex;flex-wrap:wrap;gap:8px 16px;margin-top:14px;font-size:13px}
.legal-links a{color:var(--purple-dark);text-underline-offset:3px}
.account-status{min-height:1.4em;margin:6px 0 10px;color:var(--muted);font-size:13px}
.account-links{display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap;margin-top:14px}
.billing-options>.primary-button,.billing-options>.secondary-button{width:100%;margin-top:8px}
@media (min-width:860px){
  .app-shell{display:grid;grid-template-columns:218px minmax(0,1fr);align-items:start}
  .screen{padding:25px clamp(26px,4.5vw,66px) calc(20px + var(--timer-footer-height, 68px))}
  .tabbar-wrap{position:sticky;inset:auto;top:0;height:100dvh;display:flex;flex-direction:column;padding:24px 14px;background:#fff;pointer-events:auto;border-right:1px solid var(--line)}
  .brand{display:flex;align-items:center;gap:10px;margin:0 7px 40px;font-size:19px;font-weight:770;letter-spacing:-.03em}.brand img{width:34px;border-radius:10px}.brand small{display:block;font-size:9px;letter-spacing:.15em;color:var(--muted);margin-top:3px}
  .nav-caption{display:block;margin:0 12px 10px;color:var(--muted);font-weight:760;letter-spacing:.13em;font-size:9px}
  .tabbar{display:grid;gap:5px;padding:0;grid-template-columns:1fr;height:auto;border-radius:0;border:0;background:transparent;box-shadow:none}
  .tab-button{display:flex;flex-direction:row;justify-content:flex-start;gap:11px;min-height:46px;border-radius:10px;padding:0 11px;font-size:14px}.tab-button.active{color:var(--purple-dark);background:#eeebff}.tab-button.active::before{display:none}.tab-button svg{width:19px;height:19px}.tab-badge{position:static;margin-left:auto;min-width:19px;height:19px;border-radius:10px;font-size:11px}
  .nav-footer{display:block;margin:auto 10px 0;color:var(--muted);font-size:12px}.nav-footer i{display:inline-block;width:7px;height:7px;border-radius:50%;background:#2bad89;margin-right:6px}
  .dashboard-grid{grid-template-columns:minmax(0,1fr) minmax(182px,.55fr);gap:23px;align-items:start}
  .settings-group,.settings-profile{max-width:660px}
}
@media (max-width:520px){.week-arrow{width:24px}.form-grid{grid-template-columns:1fr}.bar-chart{gap:3px}.modal-sheet{max-height:90dvh}.event-card{gap:7px}}
@media (prefers-reduced-motion:reduce){*,*::after,*::before{animation:none!important;scroll-behavior:auto!important}}

.timer-footer{position:fixed;z-index:18;inset-inline:0;bottom:calc(80px + env(safe-area-inset-bottom));pointer-events:none}
.timer-footer-inner{width:100%;max-width:1084px;margin:0 auto;padding:6px 13px}
.timer-dock{pointer-events:auto;padding:8px 14px;border:1px solid var(--line);background:var(--card);border-radius:15px;box-shadow:var(--small-shadow);max-height:29dvh;overflow:auto}
@media(min-width:860px){
  .timer-footer{inset-inline-start:218px;bottom:0}
  .timer-footer-inner{padding:6px clamp(26px,4.5vw,66px) 12px}
}
.dock-header,.live-row{display:flex;align-items:center;gap:10px;justify-content:space-between}
.dock-actions{display:flex;align-items:center;gap:5px;flex-shrink:0;white-space:nowrap}
.dock-undo{border:0;background:transparent;color:var(--muted);font-size:12px;font-weight:650;padding:7px 8px;border-radius:7px;cursor:pointer}
.dock-undo:hover,.dock-undo:focus-visible{background:var(--paper);color:var(--purple-dark);text-decoration:underline;text-underline-offset:3px}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.dock-launch{border:0;background:var(--purple-soft);color:var(--purple-dark);padding:7px 10px;border-radius:8px;font-size:13px;font-weight:720;cursor:pointer}
.timer-idle-actions{display:flex;justify-content:flex-end;align-items:center;gap:8px}
.timer-idle-actions button{pointer-events:auto}
.timer-idle-actions .dock-undo{padding:7px 10px;border:1px solid var(--line);border-radius:20px;background:var(--card);box-shadow:var(--small-shadow)}
.dock-launch.quick-track-fab{display:grid;place-items:center;width:52px;height:52px;padding:0;border-radius:50%;background:var(--purple-dark);color:white;box-shadow:0 4px 12px #4335ad45}
.dock-launch.quick-track-fab:hover{background:var(--purple)}
.quick-track-fab svg,.route-timer-button svg{fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.quick-track-fab svg{width:24px;height:24px}
kbd{font:inherit;font-size:10px;padding:2px 4px;border-radius:4px;background:#f0edf9;color:#554f73}
.dock-launch kbd{margin-left:4px}
.live-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto auto;border-top:1px solid var(--line);margin-top:7px;padding-top:7px}
.live-name{display:flex;align-items:center;gap:7px;min-width:0;flex-wrap:wrap}
.live-name strong{font-size:14px;overflow-wrap:anywhere}.live-name small{color:var(--muted);font-size:11px}
.live-name i,.quick-route i,.review-route-name i{display:inline-block;flex:none;width:9px;height:9px;border-radius:50%;background:var(--cat)}
.live-stop{background:var(--purple-dark);color:white;border:0;border-radius:8px;padding:7px 11px;font-weight:730;font-size:13px;cursor:pointer}
.live-clock{font-variant-numeric:tabular-nums;font-size:17px;font-weight:750;color:var(--ink)}
.route-card-wrap{min-width:0}
.route-card-wrap .category-card{width:100%;padding-right:46px;min-height:118px}
.route-card-label{min-width:0}
.route-timer-actions{display:flex;align-items:center;gap:5px;margin:9px -22px 0 0}
.route-timer-button{display:grid;place-items:center;flex:none;width:40px;height:38px;padding:0;border:1px solid var(--line);border-radius:9px;background:var(--card);color:var(--purple-dark);cursor:pointer}
.route-timer-button:hover{background:#e8e3ff;border-color:#d6cef9}
.route-start{width:auto;min-width:54px;padding-inline:9px;background:var(--purple-dark);border-color:transparent;color:#fff;font-size:13px;font-weight:740}
.route-start:hover{background:var(--purple);border-color:transparent}
.route-timer-button svg{width:19px;height:19px}
.category-grid.list .category-card{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;min-height:74px}
.category-grid.list .route-timer-actions{margin:0}
.tracking-goals{margin-bottom:16px}
.tracking-goals>.section-label{margin:0 0 6px;font-size:20px}
.tracking-goal-row{display:grid;grid-auto-flow:column;grid-auto-columns:min(85%,220px);justify-content:start;gap:10px;overflow-x:auto;padding:3px 1px 8px;scrollbar-width:thin;scrollbar-color:#aea8c8 transparent}
.tracking-goal{border:1px solid var(--line);border-radius:14px;background:var(--card);padding:10px 12px}
.tracking-goal-top{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}
.tracking-goal-label{min-width:0;color:var(--muted);font-size:12px}
.tracking-goal-label h3{display:flex;align-items:center;gap:6px;margin:0 0 2px;color:var(--ink);font-size:15px}
.tracking-goal-label .goal-dot{flex:none;width:8px;height:8px}
.tracking-goal-name{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.tracking-goal-edit{flex:none;min-height:34px;padding:0 12px;border:1px solid var(--line);border-radius:9px;background:var(--card);color:var(--purple-dark);font-size:13px;font-weight:720;cursor:pointer}
.tracking-goal-edit:hover{background:var(--purple-soft)}
.tracking-goal-total{margin:7px 0 0;color:var(--muted);font-size:12px;font-variant-numeric:tabular-nums}
.tracking-goal-total strong{color:var(--ink);font-size:16px}
.tracking-goal .progress-track{height:5px;margin:6px 0 0}
.route-more{position:absolute;right:8px;top:7px;width:34px;height:34px;border:0;border-radius:8px;background:transparent;color:var(--muted);font-size:21px;line-height:1;cursor:pointer}.route-more:hover{background:var(--purple-soft);color:var(--purple-dark)}
.route-key{position:absolute;right:15px;bottom:12px;pointer-events:none}.pin-mark{font-size:9px;color:var(--purple)}
.quick-start-options{display:flex;gap:8px;flex-wrap:wrap}.quick-start-options .secondary-button{font-size:13px}
.quick-route-list{display:grid;gap:7px;margin:14px 0}.quick-route{display:grid;grid-template-columns:auto minmax(0,1fr) auto 21px;gap:10px;align-items:center;text-align:left;border:1px solid var(--line);border-radius:10px;background:white;padding:10px;cursor:pointer}.quick-route span{color:var(--purple-dark);font-size:13px}
.week-review{margin:24px 0;border:1px solid var(--line);border-radius:19px;padding:clamp(13px,3vw,23px);background:white;box-shadow:var(--small-shadow)}
.review-top{display:flex;align-items:center;justify-content:space-between;gap:10px}.review-top h3{margin:5px 0 0;font-size:22px}.review-arrows{display:flex;gap:7px}
.review-totals{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:14px 0}.review-totals>div{border-radius:10px;background:var(--paper);padding:9px}.review-totals span{color:var(--muted);font-size:11px;display:block}.review-totals strong{font-size:clamp(13px,2.3vw,23px);font-variant-numeric:tabular-nums;display:block;margin-top:2px;overflow-wrap:anywhere}
.review-head,.review-route{display:grid;grid-template-columns:minmax(0,1fr) minmax(65px,.45fr) minmax(63px,.45fr);align-items:center;gap:7px;padding:7px 2px;border-bottom:1px solid var(--line)}.review-head{color:var(--muted);font-size:11px;font-weight:750}.review-route{font-size:13px}.review-route-name{display:flex;align-items:center;gap:6px;text-align:left;padding:7px 0;font-weight:730;min-width:0;overflow-wrap:anywhere}.review-delta{text-align:left;font-size:12px}
[data-screen="timeline"]>.week-nav{margin-top:0}
.review-entries{border-top:1px solid var(--line);margin-top:16px;padding-top:10px}
.review-entry-header{display:flex;align-items:center;justify-content:space-between;gap:8px}.review-entry-header h4{margin:0;scroll-margin:120px}
.review-delta[aria-expanded="true"]{text-decoration:underline;text-underline-offset:3px}
.timer-toggle{width:22px;height:22px;accent-color:var(--purple-dark);cursor:pointer}
.welcome-tools{display:flex;flex-wrap:wrap;column-gap:18px;margin-top:12px}
@media(max-width:520px){.timer-dock{padding:8px}.dock-launch kbd,.route-key{display:none}.category-grid:not(.list) .route-timer-actions{margin-right:-33px}.live-name small{display:none}.live-row{gap:7px}.live-stop{padding-inline:7px}.live-clock{font-size:14px}.review-route-name span{display:none}}
@media(max-width:360px){.dock-header{gap:5px}.dock-header .eyebrow{font-size:10px;letter-spacing:.07em}.dock-undo,.dock-launch{padding-inline:6px}}
