:root{--paper:#f4f1e8;--ink:#1f2924;--muted:#657069;--line:#d8d5ca;--green:#276749;--green-dark:#1d4f39;--cream:#fffdf7;--red:#a84436}*{box-sizing:border-box}html{background:var(--paper)}body{color:var(--ink);background:radial-gradient(circle at 8% 0%, #fffc, transparent 34rem), var(--paper);margin:0;font-family:Noto Sans SC,Microsoft YaHei,system-ui,sans-serif}button,input,select{font:inherit}button{cursor:pointer}.shell{width:min(100% - 32px,760px);padding:38px 0 calc(72px + env(safe-area-inset-bottom,0px));margin:0 auto}.loading{min-height:100vh;color:var(--muted);place-items:center;display:grid}.hero{justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:32px;display:flex}.eyebrow{color:var(--green);letter-spacing:.16em;margin:0 0 7px;font:700 11px/1.2 ui-monospace,monospace}h1{letter-spacing:-.05em;margin:0;font-family:Georgia,Songti SC,serif;font-size:clamp(48px,10vw,76px);line-height:.95}h2{letter-spacing:-.02em;margin:0;font-family:Georgia,Songti SC,serif;font-size:25px}.subtitle{color:var(--muted);margin:13px 0 0}.privacy-badge{color:var(--muted);white-space:nowrap;align-items:center;gap:8px;padding-top:5px;font-size:12px;display:flex}.privacy-badge span{background:var(--green);border-radius:50%;width:7px;height:7px;box-shadow:0 0 0 4px #2767491f}.summary-grid{grid-template-columns:1.35fr 1fr;gap:14px;margin-bottom:14px;display:grid}.summary-card,.timer-card,.tasks-card,.records-card,.backup-card,.sync-card,.panel-card{border:1px solid var(--line);background:#fffdf7cc;box-shadow:0 12px 30px #2f352f0a}.summary-card{border-radius:20px;flex-direction:column;min-height:144px;padding:22px;display:flex}.summary-card.featured{background:var(--green);color:#fff;border-color:var(--green)}.summary-card>span{color:var(--muted);font-size:13px}.summary-card.featured>span,.summary-card.featured small{color:#ffffffad}.summary-card strong{letter-spacing:-.06em;margin:auto 0 5px;font:500 clamp(27px,7vw,39px)/1 ui-monospace,monospace}.summary-card small{color:var(--muted)}.timer-card,.tasks-card,.records-card{border-radius:24px;margin-bottom:14px;padding:clamp(22px,5vw,34px)}.timer-card.is-active{border-color:#27674973}.section-heading{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:25px;display:flex}.status{border-radius:999px;padding:7px 11px;font-size:12px}.status.running{color:var(--green);background:#e0eee5}.status.paused{color:#7d5b16;background:#f6ebca}.timer-display{text-align:center;letter-spacing:-.08em;margin:28px 0 12px;font:500 clamp(52px,13vw,84px)/1 ui-monospace,monospace}.timer-meta{color:var(--muted);justify-content:center;gap:18px;margin-bottom:30px;font-size:13px;display:flex}.field{margin-bottom:16px;display:block}.field>span{color:var(--muted);margin:0 0 7px 2px;font-size:12px;display:block}.field input,.field select{border:1px solid var(--line);width:100%;height:50px;color:var(--ink);background:var(--cream);border-radius:13px;outline:none;padding:0 15px}.field input:focus,.field select:focus{border-color:var(--green);box-shadow:0 0 0 3px #2767491a}.actions{grid-template-columns:1fr 1.5fr;gap:10px;display:grid}.button{border:0;border-radius:14px;min-height:50px;padding:0 20px;font-weight:700}.button.full{width:100%}.button.primary{background:var(--green);color:#fff}.button.primary:hover{background:var(--green-dark)}.button.secondary{color:var(--ink);background:#e7e5dc}.button.danger{background:var(--ink);color:#fff}.notice{color:var(--muted);text-align:center;margin:14px 0 0;font-size:13px}.active-strip{z-index:5;color:#fff;background:var(--ink);border-radius:17px;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:18px;margin-bottom:14px;padding:15px 17px;display:grid;position:sticky;top:10px;box-shadow:0 15px 35px #1f292438}.active-strip>div{align-items:center;gap:12px;min-width:0;display:flex}.active-strip div div{flex-direction:column;min-width:0;display:flex}.active-strip small{color:#ffffff9e;letter-spacing:.08em;font-size:10px}.active-strip strong{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.active-strip time{font:600 18px ui-monospace,monospace}.active-strip button{color:#fff;background:0 0;border:1px solid #ffffff3d;border-radius:10px;padding:8px 12px}.pulse{background:#75d69a;border-radius:50%;flex:none;width:9px;height:9px;box-shadow:0 0 0 5px #75d69a21}.pulse.paused{background:#e8bd5f;box-shadow:0 0 0 5px #e8bd5f21}.task-heading{align-items:center}.add-task-button{border:1px solid var(--line);color:var(--green);background:var(--cream);border-radius:11px;padding:9px 12px;font-size:13px;font-weight:700}.task-form{border:1px solid var(--line);background:#f7f4eb;border-radius:17px;margin:-6px 0 22px;padding:18px}.task-form .field:last-of-type{margin-bottom:0}.form-actions{justify-content:flex-end;gap:9px;margin-top:16px;display:flex}.form-actions .button{min-height:42px}.empty-task{border:1px dashed var(--line);width:100%;color:var(--ink);background:0 0;border-radius:16px;padding:38px 20px}.empty-task strong,.empty-task span{display:block}.empty-task span{color:var(--muted);margin-top:7px;font-size:12px}.task-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;display:grid}.task-tile{--task-color:var(--green);border:1px solid var(--line);background:var(--cream);border-radius:18px;min-width:0;position:relative;overflow:hidden}.task-tile:before{content:"";background:var(--task-color);width:5px;position:absolute;inset:0 auto 0 0}.task-tile.active{border-color:var(--task-color);box-shadow:0 0 0 3px color-mix(in srgb, var(--task-color) 13%, transparent)}.task-start{width:100%;min-height:138px;color:var(--ink);text-align:left;background:0 0;border:0;padding:18px 38px 16px 20px}.task-symbol{color:#fff;background:var(--task-color);border-radius:50%;place-items:center;width:28px;height:28px;margin-bottom:15px;font-size:10px;display:grid}.task-start strong,.task-start small,.task-start time{display:block}.task-start strong{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.task-start small{color:var(--muted);margin-top:4px}.task-start time{color:var(--muted);margin-top:14px;font:600 13px ui-monospace,monospace}.task-tile.active .task-start time{color:var(--task-color)}.task-delete{color:#9b9d98;background:0 0;border:0;border-radius:50%;width:28px;height:28px;font-size:18px;position:absolute;top:10px;right:10px}.task-delete:hover{color:var(--red);background:#f6e7e3}.date-label{color:var(--muted);font:12px ui-monospace,monospace}.empty-state{border:1px dashed var(--line);text-align:center;border-radius:15px;padding:28px}.empty-state p{color:var(--muted);margin:7px 0 0;font-size:13px}.record-list{margin:0;padding:0;list-style:none}.record-list li{border-top:1px solid var(--line);grid-template-columns:10px minmax(0,1fr) auto 30px;align-items:center;gap:12px;padding:15px 0;display:grid}.record-list li:first-child{border-top:0;padding-top:0}.category-dot{border-radius:50%;width:8px;height:8px}.record-main{flex-direction:column;gap:4px;min-width:0;display:flex}.record-main strong{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.record-main span{color:var(--muted);font-size:12px}.record-duration{font:600 13px ui-monospace,monospace}.icon-button{width:30px;height:30px;color:var(--muted);background:0 0;border:0;border-radius:50%;font-size:20px}.icon-button:hover{color:var(--red);background:#f6e7e3}.backup-card{border-radius:20px;justify-content:space-between;align-items:center;gap:20px;padding:22px;display:flex}.backup-card h2{font-size:20px}.backup-card p:last-child{color:var(--muted);margin:8px 0 0;font-size:12px}.backup-actions{flex-shrink:0;gap:8px;display:flex}.text-button{border:1px solid var(--line);color:var(--ink);background:0 0;border-radius:10px;padding:9px 12px;font-size:12px}.sync-card{border-radius:24px;margin-bottom:14px;padding:clamp(22px,5vw,30px)}.sync-heading{align-items:center;margin-bottom:18px}.sync-heading h2{font-size:21px}.sync-indicator{color:var(--muted);background:#e7e5dc;border-radius:99px;padding:6px 10px;font-size:11px}.sync-indicator.enabled{color:var(--green-dark);background:#e0eee5}.sync-help{color:var(--muted);margin:0 0 16px;font-size:13px;line-height:1.65}.sync-code-row{grid-template-columns:minmax(0,1fr) auto;gap:9px;display:grid}.sync-code-row code{border:1px dashed var(--green);min-height:48px;color:var(--green-dark);letter-spacing:.08em;-webkit-user-select:all;user-select:all;background:#edf4ef;border-radius:12px;place-items:center;padding:0 12px;font:700 clamp(17px,5vw,22px) ui-monospace,monospace;display:grid}.sync-actions{grid-template-columns:1fr;gap:9px;margin-top:12px;display:grid}.sync-actions .button{min-height:44px}.sync-actions .text-button{min-width:64px}.sync-status{min-height:18px;color:var(--muted);text-align:center;margin:13px 0 0;font-size:11px}.sync-divider{color:var(--muted);align-items:center;gap:12px;margin:20px 0 13px;font-size:11px;display:flex}.sync-divider:before,.sync-divider:after{content:"";background:var(--line);flex:1;height:1px}.sync-connect-row{grid-template-columns:minmax(0,1fr) auto;gap:9px;display:grid}.sync-connect-row input{border:1px solid var(--line);min-width:0;height:44px;color:var(--ink);background:var(--cream);letter-spacing:.08em;text-transform:uppercase;border-radius:11px;padding:0 13px;font:600 16px ui-monospace,monospace}.sync-connect-row input:focus{border-color:var(--green);outline:0;box-shadow:0 0 0 3px #2767491a}.sync-conflict{background:#fbefec;border:1px solid #dfb9b1;border-radius:13px;margin-top:14px;padding:15px}.sync-conflict strong{color:var(--red)}.sync-conflict p{color:#76544c;margin:7px 0 12px;font-size:12px;line-height:1.55}.sync-conflict>div{gap:8px;display:flex}.danger-text{color:var(--red);border-color:#dfb9b1}.button:disabled,.text-button:disabled{cursor:wait;opacity:.6}.account-card{border-radius:24px;margin-bottom:84px;padding:clamp(22px,5vw,30px)}.account-card h2{margin:4px 0 0;font-size:21px}.account-email{color:var(--muted);overflow-wrap:anywhere;margin:10px 0 22px}.account-actions{flex-wrap:wrap;gap:9px;display:flex}.account-actions .danger{color:var(--red);border-color:#dfb9b1}.account-note{color:var(--muted);margin:16px 0 0;font-size:12px;line-height:1.6}.auth-shell{grid-template-columns:minmax(0,.9fr) minmax(340px,470px);align-items:center;gap:clamp(32px,8vw,110px);width:min(100% - 40px,1080px);min-height:100svh;margin:auto;padding:48px 0;display:grid}.auth-brand h1{color:var(--green-dark);letter-spacing:-.05em;margin:6px 0 14px;font:700 clamp(58px,9vw,104px)/1 Georgia,Songti SC,serif}.auth-brand>p:last-child{max-width:420px;color:var(--muted);margin:0;font-size:clamp(16px,2vw,20px);line-height:1.8}.auth-card{background:#fffdf7eb;border:1px solid #d8d5cae6;border-radius:26px;padding:clamp(26px,5vw,42px);box-shadow:0 24px 65px #1f29241c}.auth-card h2{margin:6px 0 24px;font:700 28px Georgia,Songti SC,serif}.auth-card form{gap:16px;display:grid}.auth-card .field{gap:7px;display:grid}.auth-card .field>span{font-size:13px;font-weight:700}.auth-card .field input{border:1px solid var(--line);width:100%;height:48px;color:var(--ink);background:var(--cream);border-radius:11px;padding:0 13px}.auth-card .field input:focus{border-color:var(--green);outline:0;box-shadow:0 0 0 3px #2767491a}.auth-card .field small{color:var(--muted);line-height:1.5}.auth-card .full{width:100%;min-height:48px;margin-top:4px}.auth-message{color:var(--green-dark);background:#edf4ef;border-radius:10px;padding:11px 13px;font-size:13px;line-height:1.55}.auth-links{flex-wrap:wrap;justify-content:center;gap:9px 20px;margin-top:20px;display:flex}.auth-links button{color:var(--green);background:0 0;border:0;padding:0;font-size:13px}.auth-consent{color:var(--muted);text-align:center;margin:18px 0 0;font-size:12px}.auth-card a,.legal-page a{color:var(--green)}.consent-check{color:var(--muted);grid-template-columns:18px minmax(0,1fr);align-items:start;gap:9px;font-size:12px;line-height:1.55;display:grid}.consent-check input{width:16px;height:16px;accent-color:var(--green);margin:2px 0 0}.auth-back{color:var(--green);margin-bottom:18px;text-decoration:none;display:inline-block}.legal-page{width:min(100% - 32px,760px);margin:auto;padding:54px 0 80px}.legal-page>header{margin-bottom:34px}.legal-page h1{margin:8px 0;font:700 clamp(34px,6vw,52px) Georgia,Songti SC,serif}.legal-page header p:last-child{color:var(--muted)}.legal-page section{border-top:1px solid var(--line);padding:22px 0}.legal-page h2{margin:0 0 10px;font:700 19px Georgia,Songti SC,serif}.legal-page section p{color:#48544d;margin:0;line-height:1.8}.panel-card{border-radius:24px;margin-bottom:84px;padding:clamp(22px,5vw,34px)}.period-nav{text-align:center;grid-template-columns:42px minmax(0,1fr) 42px;align-items:center;gap:12px;margin:18px 0 22px;display:grid}.period-nav strong{font-family:Georgia,Songti SC,serif;font-size:19px}.nav-chip{border:1px solid var(--line);width:42px;height:38px;color:var(--ink);background:var(--cream);border-radius:11px;font-size:24px;line-height:1}.nav-chip:hover{border-color:var(--green);color:var(--green)}.segmented{background:#e7e5dc;border-radius:13px;grid-template-columns:repeat(3,1fr);padding:4px;display:grid}.segmented button{min-height:38px;color:var(--muted);background:0 0;border:0;border-radius:10px;font-size:13px;font-weight:700}.segmented button.active{color:var(--green-dark);background:var(--cream);box-shadow:0 2px 8px #1f292414}.segmented.compact{padding:3px;display:flex}.segmented.compact button{min-height:31px;padding:0 12px;font-size:12px}.stats-summary{margin-top:0}.stats-block{border-top:1px solid var(--line);margin-top:26px;padding-top:26px}.stats-block-heading{justify-content:space-between;align-items:center;gap:14px;margin-bottom:20px;display:flex}.stats-block-heading h3{margin:0;font-family:Georgia,Songti SC,serif;font-size:18px}.pie-layout{grid-template-columns:190px minmax(0,1fr);align-items:center;gap:28px;display:grid}.pie-wrap{width:180px;height:180px;position:relative}.pie-svg{width:100%;height:100%;display:block}.pie-center{text-align:center;pointer-events:none;place-content:center;display:grid;position:absolute;inset:0}.pie-center small{color:var(--muted);font-size:11px}.pie-center strong{margin-top:4px;font:700 13px ui-monospace,monospace}.slice-legend{margin:0;padding:0;list-style:none}.slice-legend li{border-top:1px solid var(--line);grid-template-columns:9px minmax(0,1fr) auto;align-items:center;gap:10px;padding:11px 0;display:grid}.slice-legend li:first-child{border-top:0}.bar-chart{scrollbar-width:thin;align-items:stretch;gap:8px;height:190px;padding-top:10px;display:flex;overflow-x:auto}.bar-column{flex:1 0 34px;grid-template-rows:minmax(0,1fr) 22px;justify-items:center;min-width:34px;display:grid}.bar-track{background:#ebe8df;border-radius:8px 8px 3px 3px;width:16px;height:100%;position:relative;overflow:hidden}.bar-fill{border-radius:inherit;background:linear-gradient(180deg, #5b9975, var(--green));position:absolute;inset:auto 0 0}.bar-column>span{color:var(--muted);align-self:end;font:10px ui-monospace,monospace}.bar-chart.dense{gap:3px}.bar-chart.dense .bar-column{flex-basis:18px;min-width:18px}.bar-chart.dense .bar-track{width:10px}.calendar-weekdays,.calendar-grid{grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.calendar-weekdays{color:var(--muted);text-align:center;margin-bottom:7px;font-size:11px}.calendar-grid{gap:5px}.calendar-cell{min-width:0;min-height:82px;color:var(--ink);text-align:left;background:#f4f1e8;border:1px solid #0000;border-radius:12px;padding:8px 6px 6px;position:relative;overflow:hidden}.calendar-cell.empty{background:0 0}.calendar-cell:not(.empty):hover{border-color:var(--line)}.calendar-cell.today .day-number{color:#fff;background:var(--green)}.calendar-cell.selected{border-color:var(--green);background:#edf4ef;box-shadow:0 0 0 2px #27674914}.day-number{border-radius:50%;place-items:center;width:24px;height:24px;font:600 12px ui-monospace,monospace;display:grid}.day-bars{background:#dedbd1;border-radius:99px;height:5px;margin:13px 0 7px;display:flex;overflow:hidden}.day-duration{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font:9px ui-monospace,monospace;display:block;overflow:hidden}.day-placeholder{height:19px;display:block}.calendar-day-detail{border-top:1px solid var(--line);margin-top:28px;padding-top:28px}.section-heading.compact{align-items:center;margin-bottom:18px}.section-heading.compact h2{font-size:19px}.day-timeline-section{margin-bottom:26px}.timeline-heading{justify-content:space-between;align-items:center;margin-bottom:13px;display:flex}.timeline-heading strong{font-family:Georgia,Songti SC,serif;font-size:16px}.timeline-heading span{color:var(--muted);font:11px ui-monospace,monospace}.day-timeline{grid-template-columns:48px minmax(0,1fr);height:720px;display:grid}.timeline-hours,.timeline-track{min-height:0;position:relative}.timeline-hours span{color:var(--muted);font:9px ui-monospace,monospace;position:absolute;right:9px;transform:translateY(-50%)}.timeline-hours span:first-child{transform:none}.timeline-hours span:last-child{transform:translateY(-100%)}.timeline-track{border-right:1px solid var(--line);border-left:1px solid var(--line);background:#f4f1e894}.timeline-grid-line{background:var(--line);height:1px;position:absolute;left:0;right:0}.timeline-grid-line:last-of-type{transform:translateY(-1px)}.timeline-task{--timeline-color:var(--green);--lane-left:0%;--lane-width:100%;z-index:1;left:calc(var(--lane-left) + 5px);width:calc(var(--lane-width) - 10px);border-left:4px solid var(--timeline-color);min-width:0;min-height:18px;color:var(--ink);background:color-mix(in srgb, var(--timeline-color) 20%, var(--cream));border-radius:5px;padding:3px 7px 3px 10px;position:absolute;overflow:hidden;box-shadow:0 2px 6px #1f292414}.timeline-task strong,.timeline-task span{white-space:nowrap;text-overflow:ellipsis;display:block;overflow:hidden}.timeline-task strong{font-size:11px;line-height:1.2}.timeline-task span{color:var(--muted);margin-top:2px;font:9px ui-monospace,monospace}.timeline-empty{color:var(--muted);text-align:center;margin:0;font-size:12px;position:absolute;top:50%;left:16px;right:16px;transform:translateY(-50%)}.tab-bar{z-index:10;right:0;bottom:max(12px, env(safe-area-inset-bottom,0px));-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#fffdf7e6;border:1px solid #d8d5cae6;border-radius:17px;grid-template-columns:repeat(3,1fr);width:min(100% - 24px,500px);margin:auto;padding:5px;display:grid;position:fixed;left:0;box-shadow:0 12px 35px #1f292429}.tab-bar button{min-height:44px;color:var(--muted);background:0 0;border:0;border-radius:12px;font-weight:700}.tab-bar button.active{color:#fff;background:var(--green)}@media (max-width:560px){.shell{width:min(100% - 20px,760px);padding-top:24px}.hero{margin-bottom:24px;display:block}.privacy-badge{margin-top:20px}.summary-grid{grid-template-columns:1fr 1fr;gap:8px}.summary-card{border-radius:17px;min-height:126px;padding:16px}.summary-card strong{font-size:clamp(22px,7vw,32px)}.timer-card,.tasks-card,.records-card{border-radius:20px}.timer-display{margin-top:24px}.actions{grid-template-columns:1fr}.backup-card{flex-direction:column;align-items:stretch}.backup-actions{grid-template-columns:1fr 1fr;display:grid}.active-strip{grid-template-columns:minmax(0,1fr) auto;gap:10px}.active-strip>time{font-size:15px}.active-strip>button{grid-column:1/-1}.task-grid{grid-template-columns:1fr}.task-start{min-height:122px}.sync-card,.account-card{border-radius:20px}.auth-shell{width:min(100% - 24px,470px);padding:28px 0 46px;display:block}.auth-brand{margin:0 8px 28px}.auth-brand h1{font-size:54px}.auth-card{border-radius:21px;padding:24px 20px}.panel-card{border-radius:20px;margin-bottom:78px}.pie-layout{grid-template-columns:1fr;justify-items:center;gap:10px}.slice-legend{width:100%}.calendar-grid{gap:3px}.calendar-cell{border-radius:9px;min-height:67px;padding:5px 3px}.day-number{width:21px;height:21px;font-size:11px}.day-bars{margin:9px 0 5px}.day-duration{font-size:8px}.day-timeline{grid-template-columns:43px minmax(0,1fr);height:672px}.timeline-task{left:calc(var(--lane-left) + 3px);width:calc(var(--lane-width) - 6px);padding-left:7px;padding-right:4px}.tab-bar{bottom:max(8px, env(safe-area-inset-bottom,0px))}}@media (prefers-reduced-motion:no-preference){.button,.text-button,.icon-button{transition:background-color .18s,color .18s,transform .18s}.button:active{transform:translateY(1px)}}
