:root{color:#202b50;--blue:#3858d6;--ink:#202b50;--muted:#536183;--border:#dce5fb;background:#f5f8ff;font:16px/1.5 system-ui,-apple-system,Segoe UI,sans-serif}*{box-sizing:border-box}body{background:radial-gradient(circle at 15% 0,#dfe9ff 0,#0000 44%),#f5f8ff;min-height:100vh;margin:0}button,input,select{font:inherit}button{cursor:pointer;border:1px solid var(--border);color:var(--ink);background:#fff;border-radius:13px;min-height:44px;padding:8px 13px;font-weight:700}button:hover{border-color:#97a9e7}button:disabled{opacity:.5;cursor:not-allowed}button:focus-visible,input:focus-visible,select:focus-visible{outline-offset:2px;outline:3px solid #ff9f43}input,select{min-height:44px;color:var(--ink);background:#fff;border:1px solid #b9c8ed;border-radius:11px;width:100%;padding:9px 11px}input[type=checkbox]{width:20px;height:20px;min-height:20px;accent-color:var(--blue)}label{gap:5px;font-size:14px;font-weight:700;display:grid}h1{margin:7px 0 11px;font-size:clamp(26px,6vw,36px);line-height:1.18}h2{margin:0 0 12px;font-size:19px}.muted{color:var(--muted)}.center{text-align:center}.full{width:100%}.primary{background:var(--blue);border-color:var(--blue);color:#fff}.primary:hover{background:#2e48b8}.danger{color:#a9253d;border-color:#f1b5bf}.danger-text{color:#a9253d}.text-button{color:var(--blue);background:0 0;border:0}.eyebrow{letter-spacing:.12em;color:#5368b9;font-size:12px;font-weight:900}.brand{align-items:center;gap:9px;font-size:20px;font-weight:900;display:flex}.mark{color:#fff;background:linear-gradient(135deg,#3858d6,#7958db);border-radius:13px;place-items:center;width:42px;height:42px;font-size:24px;display:grid;box-shadow:0 4px 10px #4256ae44}.app-shell{width:min(100%,1000px);min-height:100vh;margin:auto;padding-bottom:90px}.topbar{justify-content:space-between;align-items:center;padding:14px 18px;display:flex}.top-controls{justify-content:space-between;align-items:end;gap:12px;padding:0 18px 12px;display:flex}.profile-picker{flex:1;min-width:175px;max-width:260px}.sync-chip{color:#206449;white-space:nowrap;background:#e8f3ec;border-radius:999px;min-height:44px;font-size:13px}.sync-chip.error{color:#a9253d;background:#fff0f2}.page{padding:10px 18px 30px}.page>p.muted{margin:0 0 19px}.card,.task-card,.day-card,.login-card{border:1px solid var(--border);background:#fff;border-radius:20px;box-shadow:0 5px 16px #33477614}.card{margin:14px 0;padding:18px}.actions{flex-wrap:wrap;gap:9px;margin:18px 0;display:flex}.actions.center{justify-content:center}.empty{color:var(--muted);text-align:center}.warning{background:#fff4df;border:1px solid #ebce91;border-radius:14px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin:0 18px 10px;padding:13px 15px;font-size:14px;display:flex}.warning button{background:#fff}.guest-banner{color:#314066;background:#eaf0ff;border:1px solid #b9c8ed;border-radius:14px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin:0 18px 12px;padding:11px 13px;font-size:14px;display:flex}.guest-banner button{background:#fff}.toast{z-index:3;background:#edf3ff;border:1px solid #adbfef;border-radius:13px;justify-content:space-between;align-items:center;gap:8px;margin:0 18px 8px;padding:9px 12px;font-size:14px;display:flex;position:sticky;top:8px}.toast button{background:0 0;border:0;min-width:44px}.bottom-nav{z-index:5;border-top:1px solid var(--border);padding:4px max(4px, env(safe-area-inset-right)) max(4px, env(safe-area-inset-bottom));background:#fff;justify-content:center;display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -4px 18px #33477616}.bottom-nav button{min-width:80px;max-width:170px;min-height:58px;color:var(--muted);background:0 0;border:0;border-radius:12px;flex:1;place-items:center;gap:1px;padding:4px 1px;display:grid}.bottom-nav button[aria-current=page]{color:#2949c5;background:#e6edff}.bottom-nav button span{font-size:22px}.bottom-nav button small{font-size:12px;font-weight:800}.timeline{border-left:2px solid #bdcbef;margin-left:37px;padding:0 0 0 16px}.timeline-item{align-items:start;gap:12px;margin:0 0 14px;display:flex;position:relative}.timeline-item:before{content:"";background:var(--blue);border:3px solid #f5f8ff;border-radius:50%;width:12px;height:12px;position:absolute;top:24px;left:-23px}.when{width:50px;color:var(--muted);flex:none;margin-top:17px;margin-left:-69px;font-size:13px;font-weight:800}.task-card{flex:1;min-width:0;padding:14px}.task-heading{align-items:center;gap:9px;margin-bottom:9px;display:flex}.task-heading .emoji{flex:none;font-size:28px}.task-heading strong{overflow-wrap:anywhere;display:block}.task-heading small{color:var(--muted);display:block}.task-card button{width:100%}.timer{letter-spacing:-.07em;text-align:center;color:var(--blue);font-variant-numeric:tabular-nums;margin:30px 0 2px;font-size:clamp(58px,18vw,110px);font-weight:900}.week-arrows{justify-content:space-between;align-items:center;gap:8px;margin:18px 0;display:flex}.week-arrows button{min-width:44px}.week-arrows strong{text-align:center;font-size:14px}.week-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;display:grid}.day-card{min-width:0;padding:10px}.day-card h2{color:var(--blue);font-size:15px}.day-card h2 span{color:var(--ink);font-size:24px;display:block}.mini-item{text-align:left;overflow-wrap:anywhere;background:#edf2ff;border-radius:10px;width:100%;height:auto;min-height:66px;margin:0 0 6px;padding:6px;font-size:12px;display:grid}.mini-item.routine{background:#fff3e1}.mini-item span{color:var(--muted);font-size:11px}.empty-day{color:#7280a2;font-size:12px}.modal-backdrop{z-index:10;background:#202b5088;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.modal{background:#fff;border-radius:22px 22px 0 0;width:min(100%,580px);max-height:93vh;padding:20px;overflow-y:auto}.modal-top{justify-content:space-between;align-items:center;display:flex}.modal-top button{border:0;font-size:25px}.modal form{gap:13px;display:grid}.form-row{grid-template-columns:1fr 1fr;gap:10px;display:grid}.days{border:0;flex-wrap:wrap;gap:8px;margin:0;padding:0;display:flex}.days legend{margin-bottom:5px;font-size:14px;font-weight:700}.days label{background:#f1f5ff;border-radius:10px;align-items:center;gap:4px;min-height:44px;padding:6px;display:flex}.inline,.trust{align-items:center;gap:8px;display:flex}.login,.setup{width:min(100%,470px);margin:0 auto;padding:24px 16px}.login-card{margin-top:40px;padding:24px 18px}.login-card form{gap:15px;margin:20px 0 10px;display:grid}.login-card .google{margin:0 0 7px}.login-card .guest-entry{color:#2949c5;background:#eaf0ff;border-color:#b9c8ed;margin-top:10px}.guest-note{color:var(--muted);margin:8px 0 20px;font-size:13px}.login-card .trust{margin:15px 0 3px;font-size:14px}.shared-note{color:var(--muted);background:#f1f5ff;border-radius:12px;padding:11px;font-size:13px}.error-text{color:#a9253d}.stats{grid-template-columns:1fr 1fr;gap:11px;margin:15px 0;display:grid}.stats>div{color:#fff;background:linear-gradient(135deg,#3858d6,#7554dd);border-radius:18px;padding:16px}.stats strong{font-size:30px;line-height:1.1;display:block}.stats span{font-size:13px}.bars{justify-content:space-between;align-items:end;gap:10px;height:170px;display:flex}.bar-cell{min-width:0;height:100%;color:var(--muted);flex:1;grid-template-rows:20px 1fr 20px;place-items:end center;font-size:11px;display:grid}.bar-track{background:#f0f4ff;border-radius:10px;align-items:end;width:min(100%,34px);height:100%;display:flex;overflow:hidden}.bar-track>div{background:linear-gradient(#7554dd,#3858d6);border-radius:10px 10px 0 0;width:100%;min-height:0}.history-list{gap:9px;display:grid}.history-row{border:1px solid var(--border);background:#fff;border-radius:14px;align-items:center;gap:10px;padding:12px;display:flex}.history-row strong,.history-row small{display:block}.history-row small{color:var(--muted)}.history-icon{color:#206449;background:#e8f3ec;border-radius:50%;flex:none;place-items:center;width:38px;height:38px;font-weight:900;display:grid}@media (width<=700px){.week-grid{scroll-snap-type:x mandatory;padding-bottom:10px;display:flex;overflow-x:auto}.day-card{scroll-snap-align:start;flex:0 0 135px}.week-arrows strong{font-size:13px}}@media (width<=390px){.page{padding-inline:12px}.topbar,.top-controls{padding-left:12px;padding-right:12px}.bottom-nav button{min-width:0}.bottom-nav button small{font-size:11px}.form-row{grid-template-columns:1fr}.timeline{margin-left:34px}.when{margin-left:-66px}}.when{margin:0;position:absolute;top:17px;left:-53px}.header-actions{align-items:center;gap:4px;display:flex}.header-actions button{white-space:nowrap}.more-menu{z-index:6;border:1px solid var(--border);background:#fff;border-radius:16px;gap:4px;width:min(250px,100vw - 24px);padding:8px;display:grid;position:absolute;top:68px;right:max(12px,50vw - 482px);box-shadow:0 12px 28px #33477633}.more-menu button{text-align:left;border:0}.edit-row{text-align:left;width:100%;min-height:64px}.edit-row .emoji{font-size:28px}.settings-form{gap:14px;display:grid}.link-button{border-radius:13px;justify-content:center;align-items:center;min-height:44px;padding:8px 14px;font-weight:800;text-decoration:none;display:inline-flex}.side-nav,.today-aside,.focus-side,.week-time-grid,.daylog-chart,.wide-only{display:none}.history-layout{min-width:0}@media (width>=600px){body,.app-shell{min-height:100dvh}.app-shell{width:100%;margin:0;padding:0 0 0 180px}.app-shell>header,.app-shell>.top-controls,.app-shell>main,.app-shell>.warning,.app-shell>.guest-banner,.app-shell>.toast{width:min(100%,760px);margin-inline:auto}.side-nav{z-index:7;width:180px;min-height:100dvh;padding:max(16px, env(safe-area-inset-top)) 12px max(16px, env(safe-area-inset-bottom));border-right:1px solid var(--border);background:#fff;flex-direction:column;gap:18px;display:flex;position:fixed;inset:0 auto 0 0;overflow-y:auto}.side-nav .brand{font-size:16px}.side-nav .mark{flex:none;width:38px;height:38px}.side-account{display:none}.side-links{gap:4px;display:grid}.side-links button{text-align:left;background:0 0;border:0;align-items:center;gap:10px;width:100%;display:flex}.side-links button[aria-current=page]{color:#2949c5;background:#e6edff}.side-links button:hover{background:#f0f4ff}.side-links button span:first-child{flex:none;width:28px;font-size:22px}.bottom-nav,.app-shell .topbar .brand,.header-actions>button:first-child{display:none}.topbar{justify-content:flex-end;min-height:58px}.page{min-width:0;padding:12px 24px 36px}.week-grid{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.day-card{flex:initial}.page>.history-list,.page>.card-grid{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.history-row,.day-card,.task-card{min-width:0}.history-row>div,.history-row>span:last-child{overflow-wrap:anywhere;min-width:0}.modal{max-height:min(93dvh,900px)}}@media (width>=1024px){.app-shell{padding-left:240px}.side-nav{width:240px;padding-inline:18px}.side-nav .brand{font-size:20px}.side-account{gap:10px;display:grid}.side-account .sync-chip{width:100%}.app-shell>header,.app-shell>main,.app-shell>.warning,.app-shell>.guest-banner,.app-shell>.toast{width:min(100%,1200px)}.app-shell>.top-controls{display:none}.page{padding-inline:clamp(22px,3vw,42px)}.today-layout{grid-template-columns:minmax(0,3fr) minmax(230px,2fr);align-items:start;gap:30px;display:grid}.today-aside{display:block}.today-aside .card{margin-top:0}.today-aside meter{width:100%;height:18px}.today-aside h3{margin:20px 0 4px;font-size:15px}.today-aside ul{margin:0;padding-left:20px}.focus-layout{grid-template-columns:minmax(0,3fr) minmax(250px,2fr);align-items:start;gap:28px;display:grid}.focus-main{min-width:0}.focus-side{gap:9px;max-height:min(630px,100dvh - 190px);margin:0;display:grid;overflow-y:auto}.focus-side .history-row{width:100%}.timer{margin:20px 0 0;font-size:clamp(75px,9vw,122px)}.history-layout{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:26px;display:grid}.daylog-layout{grid-template-columns:minmax(0,2fr) minmax(0,3fr);align-items:start;gap:26px;display:grid}.daylog-chart{margin:0;display:block}.daylog-chart>strong{color:var(--blue);font-size:32px}.category-bar{align-items:center;gap:8px;margin:8px 0;font-size:13px;display:flex}.category-bar span{min-width:90px}.category-bar meter{flex:1;min-width:0}.daylog-detail{min-width:0;max-height:72dvh;overflow-y:auto}.daylog-row{grid-template-columns:38px minmax(0,1fr) 105px 70px;display:grid}.daylog-row .wide-only{color:var(--muted);text-align:right;overflow-wrap:anywhere;font-size:12px;display:block}.history-detail .history-list{max-height:70dvh;overflow:auto}.history-detail .history-row small{overflow-wrap:anywhere}.history-page .stats{grid-template-columns:repeat(2,minmax(0,1fr))}.week-grid{display:none}.week-time-grid{border:1px solid var(--border);background:#fff;border-radius:16px;grid-template-columns:58px repeat(7,minmax(0,1fr));display:grid;overflow:clip}.week-corner,.week-day-heading,.week-hour-heading,.week-hour-cell{border-right:1px solid var(--border);border-bottom:1px solid var(--border);min-width:0}.week-corner,.week-day-heading{z-index:2;text-align:center;background:#edf2ff;padding:10px 5px;font-size:13px;position:sticky;top:0}.week-day-heading strong{font-size:19px;display:block}.week-hour-heading{color:var(--muted);padding:12px 5px;font-size:12px}.week-hour-cell{min-height:52px;padding:4px 48px 4px 4px;position:relative}.week-hour-cell .mini-item{min-height:44px;margin-bottom:2px;font-size:12px}.week-add{width:44px;min-height:44px;color:var(--blue);opacity:.55;background:0 0;border:0;padding:0;display:block;position:absolute;top:4px;right:4px}.week-add:hover,.week-add:focus-visible{opacity:1;background:#e6edff}.modal-backdrop{justify-content:flex-end;align-items:stretch}.modal{border-radius:20px 0 0 20px;width:min(430px,100%);height:100dvh;max-height:100dvh;padding:26px}:is(.page:has(>.settings-form),.page:has(>.history-list)){max-width:720px;margin-inline:auto}.page:has(>.card>.settings-form){max-width:720px;margin-inline:auto}.settings-form{grid-template-columns:repeat(2,minmax(0,1fr))}.settings-form>.form-row,.settings-form>.actions{grid-column:1/-1}}.login-top{justify-content:space-between;align-items:center;gap:10px;display:flex}.install-pill{white-space:nowrap;color:#fff;background:linear-gradient(135deg,#ff8a3d,#ff6b6b);border-radius:12px;justify-content:center;align-items:center;gap:6px;min-height:44px;padding:8px 14px;font-weight:900;text-decoration:none;display:inline-flex;box-shadow:0 4px 12px #ff6b6b40}.install-pill:focus-visible{outline-offset:2px;outline:3px solid #ff9f43}@media (width<=440px){.app-shell .topbar .brand-name{display:none}.header-actions .install-pill{padding-inline:10px}}.active-focus{flex-wrap:wrap;align-items:center;gap:12px;margin:16px 0;display:flex}.active-focus strong{overflow-wrap:anywhere}.focus-confirm{gap:16px;display:grid}.focus-confirm p{overflow-wrap:anywhere}
