:root{--bg:#fff;--surface:#fff;--surface-2:#f5f7fd;--line:#ece4ea;--line-strong:#ddd2da;--card-line:#d6cad4;--text:#4a4350;--sub:#6b616e;--muted:#9a8f9c;--accent:#cfd8ee;--accent-strong:#6f9be0;--sky:#e6edfb;--pink:#f0a0b6;--danger:#d9788f;--sun:#d9788f;--sat:#7f9fcc;--work:#efedef;--work-line:#cfcace;--radius:16px;--shadow:0 8px 24px #5a466424;--pop-shadow:0 16px 48px #5a466440;color:var(--text);-webkit-font-smoothing:antialiased;font-family:"Source Sans 3",SUIT,-apple-system,BlinkMacSystemFont,Apple SD Gothic Neo,sans-serif;font-size:14px;line-height:1.45}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}button{font:inherit;color:inherit;cursor:pointer}input{font:inherit;color:inherit}h2,h3,h4{margin:0}.app{flex-direction:column;height:100%;display:flex}.topbar{background:var(--surface);border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:16px;padding:12px 20px;display:flex}.brand{color:var(--accent-strong);letter-spacing:-.02em;font-size:18px;font-weight:800}.nav{align-items:center;gap:6px;display:flex}.nav h2{min-width:120px;margin:0 8px;font-size:20px;font-weight:700}.actions{flex-wrap:wrap;gap:6px;margin-left:auto;display:flex}.seg{background:var(--surface-2);border:1px solid var(--line);border-radius:10px;padding:3px;display:flex}.seg button{color:var(--muted);background:0 0;border:0;border-radius:8px;padding:5px 16px;font-weight:600}.btn{border:1px solid var(--line-strong);background:var(--surface);border-radius:10px;padding:8px 14px;font-weight:600;transition:background .15s}.btn:hover{background:var(--surface-2)}.btn.primary{background:var(--accent-strong);border-color:var(--accent-strong);color:#fff}.btn.ghost{color:var(--muted);background:0 0;border-color:#0000}.btn.active{border-color:var(--accent);color:var(--accent-strong);background:#efe9fa}.btn.add{width:100%;color:var(--muted);border-style:dashed;margin-top:8px}.mini{border:1px solid var(--line);background:var(--surface);color:var(--muted);border-radius:7px;padding:2px 8px;font-size:12px}.mini:hover{color:var(--text)}.icon-btn{width:30px;height:30px;color:var(--muted);background:0 0;border:0;border-radius:8px;font-size:18px}.icon-btn:hover{background:var(--surface-2);color:var(--text)}.row{align-items:center;gap:8px;display:flex}.row.end{justify-content:flex-end;margin-top:16px}.row.center{justify-content:center}.row.wrap{flex-wrap:wrap;margin-top:16px}.grow{flex:1;min-width:0}.muted{color:var(--muted)}.dot{border-radius:50%;flex:none;width:9px;height:9px;display:inline-block}.body{flex:1;min-height:0;display:flex;position:relative}.calendar{flex:1;min-width:0;padding:14px;display:flex}.month{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow);flex-direction:column;flex:1;display:flex;overflow:hidden}.month-head{border-bottom:1px solid var(--line);grid-template-columns:repeat(7,1fr);display:grid}.month-head div{text-align:center;color:var(--muted);padding:8px 0;font-size:12px;font-weight:600}.sun{color:var(--sun)!important}.sat{color:var(--sat)!important}.month-grid{flex:1;grid-template-columns:repeat(7,1fr);min-height:0;display:grid;overflow-y:auto}.cell{border-right:1px solid var(--line);border-bottom:1px solid var(--line);cursor:pointer;min-height:0;padding:4px 5px;transition:background .12s;overflow:hidden}.cell:nth-child(7n){border-right:0}.cell.over,.over{outline:2px dashed var(--accent);outline-offset:-3px;background:#f1ebfb!important}.date-num{border-radius:50%;place-items:center;width:22px;height:22px;margin-bottom:2px;font-size:12px;font-weight:600;display:grid}.date-num.today{background:var(--pink);color:#fff!important}.cell-items{flex-direction:column;gap:2px;display:flex}.bar{white-space:nowrap;text-overflow:ellipsis;border-radius:6px;align-items:center;gap:4px;padding:2px 6px;font-size:12px;line-height:1.25;display:flex;overflow:hidden}.shift-bar{border:1.5px solid var(--work-line);color:var(--muted);background:0 0;font-weight:600}.task-bar{cursor:grab;border:0}.task-bar.done .bar-title,.task-bar.done .bar-time{text-decoration:line-through}.task-bar.running{border:2px solid;font-weight:700}.bar-time{opacity:.75;font-variant-numeric:tabular-nums;font-size:10.5px}.bar-title{text-overflow:ellipsis;overflow:hidden}.check{font-weight:700}.more{color:var(--muted);padding:1px 6px;font-size:11.5px;font-weight:600}.week{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow);flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.week-row{border-bottom:1px solid var(--line);grid-template-columns:52px repeat(7,1fr);display:grid}.gutter{border-right:1px solid var(--line)}.gutter.label{color:var(--muted);text-align:center;padding:6px 2px;font-size:10.5px;font-weight:600;line-height:1.3}.week-day-head{text-align:center;flex-direction:column;gap:2px;padding:8px 0 6px;display:flex}.week-day-head span{color:var(--muted);font-size:12px}.week-day-head b{border-radius:50%;place-items:center;width:32px;height:32px;margin:0 auto;font-size:18px;display:grid}.week-strip{background:#fdfbf3;grid-template-columns:52px 1fr}.strip-body{flex-wrap:wrap;align-items:center;gap:4px;min-height:34px;padding:6px;display:flex}.hint{color:var(--muted);font-size:12px}.allday-cell{border-right:1px solid var(--line);flex-direction:column;gap:3px;min-height:38px;padding:4px;display:flex}.allday-cell:last-child{border-right:0}.chip{cursor:grab;white-space:nowrap;text-overflow:ellipsis;border:0;border-radius:6px;padding:3px 7px;font-size:12px;overflow:hidden}.chip.done{color:var(--muted);text-decoration:line-through}.week-scroll{flex:1;min-height:0;overflow-y:auto}.week-row.grid{border-bottom:0}.hours{position:relative}.hour-label{color:var(--muted);font-size:10.5px;position:absolute;right:6px;transform:translateY(-50%)}.day-col{border-right:1px solid var(--line);position:relative}.day-col:last-child{border-right:0}.hour-line{border-top:1px solid #f3eef2;position:absolute;left:0;right:0}.block{border-radius:7px;flex-direction:column;padding:3px 6px;font-size:11.5px;display:flex;position:absolute;overflow:hidden}.block.shift{background:var(--work);border:1px dashed var(--work-line);color:var(--muted);cursor:pointer;border-radius:0;left:0;right:0}.block.task{cursor:grab;z-index:2;border:0;box-shadow:0 1px 3px #5a466414}.block.task.running{border:2.5px solid;font-weight:700}.block.task.done{color:var(--muted)}.block.task.done .block-title,.block.task.done .block-time{text-decoration:line-through}.block-title{white-space:nowrap;text-overflow:ellipsis;font-weight:600;overflow:hidden}.block-time{opacity:.8;font-variant-numeric:tabular-nums;font-size:10.5px}.resize{cursor:ns-resize;height:7px;position:absolute;bottom:0;left:0;right:0}.resize:hover{background:#0000000f}.drop-preview{z-index:4;pointer-events:none;border:2px dashed var(--accent-strong);color:var(--accent-strong);background:#b9a6e047;border-radius:7px;padding:2px 6px;font-size:11px;font-weight:700;position:absolute;left:2px;right:2px}.now-line{background:var(--danger);z-index:3;height:2px;position:absolute;left:0;right:0}.now-line:before{content:"";background:var(--danger);border-radius:50%;width:8px;height:8px;position:absolute;top:-3px;left:-4px}.sidebar{background:var(--bg);border-left:1px solid var(--line);flex-direction:column;flex:none;gap:12px;width:300px;min-height:0;padding:14px;display:flex;overflow:hidden}.sidebar>section{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:12px;box-shadow:0 2px 10px #5a46640f}.sidebar h4{border-bottom:1px solid var(--line);background:var(--surface-2);border-radius:var(--radius) var(--radius) 0 0;align-items:center;gap:6px;margin:-12px -12px 10px;padding:10px 12px;font-size:13px;font-weight:700;display:flex}.count{color:var(--danger);background:#fbe4ea;border-radius:10px;padding:0 7px;font-size:11px}.side-hint{color:var(--muted);margin:2px 0 8px;font-size:11.5px;line-height:1.45}.cat-group{border-radius:10px;margin-bottom:8px}.cat-head{border-radius:8px;align-items:center;gap:7px;padding:5px 6px;font-size:13px;font-weight:600;display:flex}.side-item{cursor:grab;border:1px solid #0000;border-radius:9px;align-items:center;gap:8px;margin:2px 0;padding:7px 9px;font-size:13px;display:flex}.side-item:hover{border-color:var(--line-strong);background:var(--surface-2)}.side-title{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.memo-input{border:1px dashed var(--line-strong);background:#fffdf6;border-radius:9px;outline:none;width:100%;margin-top:4px;padding:8px 10px}.memo-input:focus{border-color:var(--accent);border-style:solid}.cat-chips{flex-wrap:wrap;gap:5px;margin:2px 0 8px;display:flex}.ctx-menu{z-index:60;background:var(--surface);box-shadow:var(--shadow);border:1px solid var(--line);border-radius:10px;flex-direction:column;min-width:150px;padding:4px;display:flex;position:fixed}.ctx-menu button{text-align:left;background:0 0;border:0;border-radius:7px;padding:7px 10px;font-size:13px}.ctx-menu button:hover{background:var(--surface-2)}.ctx-menu .danger{color:var(--danger)}.work-panel{background:var(--surface);border-left:1px solid var(--line);flex:none;width:290px;padding:14px 14px 40px;overflow-y:auto}.wt-list{flex-direction:column;gap:6px;display:flex}.wt-item{border:1.5px solid var(--work-line);background:var(--work);cursor:grab;border-radius:10px;justify-content:space-between;align-items:center;padding:8px 10px;font-size:13px;display:flex}.wt-form{background:var(--surface-2);border-radius:10px;flex-direction:column;gap:8px;margin-top:10px;padding:10px;display:flex}.wt-form input,.form input,.modal label input{border:1px solid var(--line-strong);background:var(--surface);border-radius:8px;outline:none;padding:7px 9px}.wt-form input:focus,.form input:focus{border-color:var(--accent)}.colors{flex-wrap:wrap;gap:6px;display:flex}.swatch{border:2px solid #0000;border-radius:50%;width:22px;height:22px}.swatch.on{border-color:var(--text)}.overlay{z-index:40;background:#4a435040;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.overlay.top{z-index:50}.modal{background:var(--surface);box-shadow:var(--shadow);border-radius:18px;width:100%;max-width:420px;max-height:85vh;padding:18px 20px;overflow-y:auto}.modal.wide{max-width:560px}.modal.small{max-width:380px}.modal-head{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.modal-head h3{align-items:center;gap:6px;font-size:16px;display:flex}.modal label{color:var(--muted);flex-direction:column;gap:4px;font-size:12px;font-weight:600;display:flex}.modal label.inline{color:var(--text);flex-direction:row;justify-content:space-between;align-items:center;font-size:13px}.modal label.inline input{width:70px}.modal label.check-label{flex-direction:row;align-items:center}.form{flex-direction:column;gap:10px;margin-top:8px;display:flex}.ask-msg{white-space:pre-line;margin:4px 0;line-height:1.6}.title-input{border:0;border-bottom:1px solid var(--line);outline:none;width:100%;padding:6px 0;font-size:17px;font-weight:700}.title-input:focus{border-color:var(--accent)}.meta{flex-wrap:wrap;align-items:center;gap:8px;margin-top:10px;font-size:12.5px;display:flex}.done-pill{color:#5c9a70;background:#e6f3ea}.day-list{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.day-list li{background:var(--surface-2);border-radius:9px;align-items:center;gap:8px;padding:7px 8px;font-size:13px;display:flex}.day-list li.done .title{color:var(--muted);text-decoration:line-through}.day-list li.day-shift{border:1.5px solid var(--work-line);color:var(--muted);background:0 0;font-weight:600}.day-list .time{color:var(--muted);font-variant-numeric:tabular-nums;min-width:72px;font-size:11.5px}.stat-h{margin:18px 0 8px;font-size:13px}.stat-tiles{grid-template-columns:repeat(3,1fr);gap:8px;margin-top:14px;display:grid}.tile{background:var(--surface-2);border-radius:12px;flex-direction:column;gap:4px;padding:12px;font-size:12px;display:flex}.tile b{font-size:18px}.cat-bars{flex-direction:column;gap:8px;display:flex}.cat-bar-row{grid-template-columns:72px 1fr 80px;align-items:center;gap:8px;font-size:13px;display:grid}.cat-bar-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.cat-bar-track{background:var(--surface-2);border-radius:6px;height:12px;overflow:hidden}.cat-bar{border-radius:6px;height:100%}.cat-bar-val{text-align:right;color:var(--muted);font-variant-numeric:tabular-nums;font-size:12px}.cat-manage{flex-direction:column;gap:4px;display:flex}.cat-row{background:var(--surface-2);border-radius:9px;align-items:center;gap:8px;padding:6px 8px;display:flex}.running-stack{left:50%;bottom:calc(20px + env(safe-area-inset-bottom,0px));z-index:30;flex-direction:column;align-items:center;gap:8px;display:flex;position:fixed;transform:translate(-50%)}.running-bar{background:var(--surface);box-shadow:var(--shadow);border:2px solid var(--accent);border-radius:30px;align-items:center;gap:10px;padding:8px 10px 8px 18px;display:flex}.pulse{background:var(--danger);border-radius:50%;width:9px;height:9px;animation:1.4s infinite pulse}@keyframes pulse{50%{opacity:.3}}.toasts{z-index:70;flex-direction:column;gap:6px;display:flex;position:fixed;top:70px;left:50%;transform:translate(-50%)}.toast{color:#fff;box-shadow:var(--shadow);background:#4a4350;border-radius:10px;padding:9px 16px;font-size:13px}@media (width<=900px){.body{flex-direction:column}.sidebar,.work-panel{border-left:0;border-top:1px solid var(--line);width:100%;max-height:40vh}.calendar{min-height:60vh}}.month{--muted:#6f6573}.month-head div{color:#5f5663}.date-num{color:var(--text);font-weight:700}.bar{color:var(--text);font-size:12.5px;font-weight:500}.shift-bar{color:#5f5663;border-color:#b9b2b7}.bar-time{opacity:1;color:#6f6573;font-weight:600}.task-bar.done{color:#7d7380}.more{color:#6f6573}.cell.dim .date-num{opacity:.5}.wt-form label{color:var(--muted);flex-direction:column;gap:3px;font-size:12px;font-weight:600;display:flex}.wt-form .days-input{flex:none;width:76px}.wt-code{background:var(--surface);border:1px solid var(--work-line);color:#5f5663;border-radius:6px;margin-left:6px;padding:1px 6px;font-size:11px;font-weight:700}.muted.small{margin-top:2px;font-size:11.5px}.form-error{color:#c4566e;margin:2px 0;font-size:12px}.form-preview{color:var(--accent-strong);margin:2px 0;font-size:12px;font-weight:600}.shift-bar.cont-left{border-left:0;border-top-left-radius:0;border-bottom-left-radius:0;margin-left:-5px}.shift-bar.cont-right{border-right:0;border-top-right-radius:0;border-bottom-right-radius:0;margin-right:-5px}.shift-bar.cont-left,.shift-bar.cont-right{background:var(--work)}.shift-line{z-index:2;pointer-events:none;align-self:end;height:14px;margin:0 7px;position:relative}.month.editing .shift-line{pointer-events:auto;cursor:context-menu}.shift-line:hover .shift-rule{border-top-color:#8f878d}body.dragging .shift-line{pointer-events:none}.shift-line.cont-left{margin-left:0}.shift-line.cont-right{margin-right:0}.shift-rule{border-top:2px solid #b9b2b7;border-radius:2px;position:absolute;top:50%;left:0;right:0}.shift-label{white-space:nowrap;background:var(--surface);color:#5f5663;padding:0 6px;font-size:11.5px;font-weight:600;line-height:14px;position:absolute;top:50%;transform:translate(-50%,-50%)}.wt-search{width:100%;margin:0 0 10px}.icon-btn.on{background:var(--surface-2);color:var(--accent-strong)}.work-panel .btn.add{margin:0 0 10px}.work-panel .wt-form{margin-bottom:12px}.side-item.unplaced{background:#fdf3f5;border:1px dashed #e9b8c4}.unplaced-tag{color:#c4566e;background:#fbe3e9;border-radius:6px;flex:none;margin-left:auto;padding:1px 6px;font-size:10.5px;font-weight:700}.side-item.renaming{cursor:text}.rename-input{flex:1;min-width:0;padding:3px 6px;font-size:13px}.schedule-guide{color:var(--text);background:var(--surface-2);border-radius:10px;margin:4px 0 12px;padding:12px;font-size:13.5px;line-height:1.5}.btn.wide{width:100%}.month.editing .cell{cursor:copy;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.month.editing .month-grid{outline:2px dashed var(--accent);outline-offset:-2px}.overlay.clear{background:0 0}.name-prompt{z-index:70;background:var(--surface);border:1px solid var(--line);width:240px;box-shadow:var(--shadow);border-radius:12px;flex-direction:column;gap:8px;padding:12px;display:flex;position:fixed}.name-prompt label{color:var(--muted);font-size:12px;font-weight:700}.week-shift{color:#5f5663;background:var(--work);border:1px solid var(--work-line);text-overflow:ellipsis;white-space:nowrap;border-radius:6px;max-width:100%;margin-top:2px;padding:0 6px;font-size:11px;font-weight:600;display:block;overflow:hidden}.shift-label{left:50%}.month.editing .cell{touch-action:none}.cell.in-range{box-shadow:inset 0 0 0 2px var(--accent);background:#ede5fa!important}.week-shift-bar{background:#fff;border:1px solid #b9b2b7;border-radius:6px;height:18px;margin:0 6px 5px;position:relative}.week-shift-bar.cont-left{border-left:0;border-top-left-radius:0;border-bottom-left-radius:0;margin-left:0}.week-shift-bar.cont-right{border-right:0;border-top-right-radius:0;border-bottom-right-radius:0;margin-right:0}.week-shift-bar span{color:#000;white-space:nowrap;font-size:11px;font-weight:600;position:absolute;top:50%;transform:translate(-50%,-50%)}.time-editor{background:var(--surface-2);border-radius:10px;flex-direction:column;gap:8px;margin:4px 0 12px;padding:10px 12px;display:flex}.time-editor .row{align-items:flex-end;gap:8px}.time-pick{color:var(--muted);flex-direction:column;gap:3px;font-size:12px;font-weight:600;display:flex}.time-pick .row{gap:4px}.time-pick select{border:1px solid var(--line);background:var(--surface);font:inherit;color:var(--text);border-radius:8px;padding:5px 6px;font-size:13px}.time-editor .tilde{color:var(--muted);padding-bottom:6px}.time-editor .btn{align-self:flex-end}.btn.push-right{margin-left:auto}.btn.same-w{text-align:center;justify-content:center;width:96px}.planned-time{color:var(--muted);font-variant-numeric:tabular-nums;flex:none;font-size:11px;font-weight:600}.block-title{flex-shrink:0}.block.task.short{flex-direction:row;align-items:center;gap:5px;padding-top:1px;padding-bottom:1px}.block.task.short .block-title{flex-shrink:1;min-width:0}.block.task.short .block-time{display:none}.sidebar>section.repeat-section{flex-direction:column;flex:0 auto;min-height:0;display:flex;overflow:hidden}.repeat-body{min-height:0;margin:0 -12px -12px;padding:0 12px 12px;overflow-y:auto}.sidebar>section.memo{flex-direction:column;flex:none;min-height:0;max-height:50%;margin-top:auto;display:flex;overflow:hidden}.section-toggle{all:unset;cursor:pointer;width:100%;font:inherit;color:var(--text);align-items:center;gap:6px;font-size:13px;font-weight:700;display:flex}.section-toggle .chev{width:12px;color:var(--text);font-size:12px}.section-toggle .count{background:var(--surface);color:var(--muted);border:1px solid var(--line);margin-left:auto}.time8 label,.form .date-field+.form-error{color:var(--muted);flex-direction:column;gap:3px;font-size:12px;font-weight:600;display:flex}.time8 input{letter-spacing:.04em;font-variant-numeric:tabular-nums;font-size:15px}.time8 .form-preview,.time8 .form-error{margin-top:4px}.date-field{align-items:center;gap:6px;position:relative}.date-field input:first-child{font-variant-numeric:tabular-nums;flex:1}.hidden-picker{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute;bottom:0;right:0}.goal-left{text-align:right;min-width:20px;color:var(--text);font-variant-numeric:tabular-nums;flex:none;justify-content:flex-end;align-items:center;gap:3px;margin-left:auto;padding:0 4px;font-size:11.5px;font-weight:700;display:inline-flex}.auto-mark{color:var(--accent-strong);flex:none;display:block}.goal-left.zero{color:var(--muted)}.goal-row{align-items:center;gap:6px}.goal-row input{text-align:center;width:56px}.seg.small button{padding:4px 10px;font-size:12px}.side-item.template.achieved .side-title,.cat-group.achieved .cat-name{color:var(--muted);text-decoration:line-through}.cat-head .goal-left{margin-left:auto}.repeat-check{align-items:center;gap:6px;font-size:12.5px;font-weight:600;color:var(--text)!important;flex-direction:row!important}.done-group{border-top:1px dashed var(--line);margin-top:6px;padding-top:8px}.done-toggle{all:unset;cursor:pointer;width:100%;color:var(--muted);align-items:center;gap:6px;margin-bottom:6px;padding:2px 4px;font-size:12.5px;font-weight:700;display:flex}.done-toggle .chev{width:12px;font-size:12px}.done-toggle .count{background:var(--surface);color:var(--muted);border:1px solid var(--line);margin-left:auto}.done-section h4 .section-toggle{color:var(--muted)}.sidebar{overflow-y:auto}.sidebar>section.repeat-section:not(.closed){min-height:var(--min-open-card,124px)}.memo-list{flex:0 auto;min-height:36px;margin:0 -4px;padding:0 4px;overflow-y:auto}.sidebar>section.memo>h4,.sidebar>section.memo>.cat-chips,.sidebar>section.memo>.memo-input{flex:none}.repeat-section h4 .section-toggle{flex:1;width:auto;min-width:0}.done-tab{border:1px solid var(--line);background:var(--surface);color:var(--muted);cursor:pointer;border-radius:10px;flex:none;padding:2px 9px;font-size:11.5px;font-weight:700}.done-tab:hover{color:var(--text)}.done-tab.on{background:var(--accent);border-color:var(--accent);color:#fff}.repeat-section h4 .section-toggle.title-only{flex:none}.repeat-section h4 .header-count{color:var(--muted);background:0 0;border:0;margin-left:auto;padding:0 2px}.cat-chips{overscroll-behavior-x:contain;scrollbar-width:thin;flex-wrap:nowrap;padding-bottom:4px;overflow-x:auto}.cat-chip{white-space:nowrap;flex:none}.chev-btn{all:unset;cursor:pointer;width:14px;color:var(--text);text-align:center;font-size:12px}.head-tabs{align-self:stretch;align-items:stretch;gap:14px;margin:-10px 0 -11px;display:flex}.head-tab{all:unset;cursor:pointer;color:var(--muted);border-bottom:2px solid #0000;align-items:center;padding:0 1px;font-size:13px;font-weight:700;display:flex}.head-tab:hover{color:var(--text)}.head-tab.on{color:var(--text);border-bottom-color:var(--accent-strong)}button.more{all:unset;cursor:pointer;color:#6f6573;border-radius:6px;padding:1px 6px;font-size:11.5px;font-weight:600}button.more:hover{background:var(--surface-2);color:var(--text)}.month-grid.has-expanded{overflow-y:auto}.trash-btn{all:unset;color:#b3a9b5;cursor:pointer;border-radius:6px;flex:none;place-items:center;width:22px;height:22px;margin-left:auto;display:grid}.trash-btn:hover{color:var(--danger);background:#fbe4ea}.side-item .unplaced-tag+.trash-btn,.side-item .planned-time+.trash-btn{margin-left:4px}.side-item .planned-time{margin-left:auto}.side-item .planned-time+.unplaced-tag{margin-left:4px}@font-face{font-family:"Source Sans 3";src:url(/fonts/SourceSans3-VariableFont_wght.ttf)format("truetype");font-weight:200 900;font-style:normal;ascent-override:99%;descent-override:26%;line-gap-override:0%;font-display:swap}@font-face{font-family:"Source Sans 3";src:url(/fonts/SourceSans3-Italic-VariableFont_wght.ttf)format("truetype");font-weight:200 900;font-style:italic;ascent-override:99%;descent-override:26%;line-gap-override:0%;font-display:swap}.sc{text-transform:uppercase;letter-spacing:.1em;font-family:"Source Sans 3",SUIT,-apple-system,sans-serif}.resize.top{top:0;bottom:auto}.cat-row.dragging{opacity:.4}.cat-row.drop-here{box-shadow:inset 0 2px 0 var(--accent-strong)}.drag-grip{color:var(--muted);letter-spacing:-2px;cursor:grab;-webkit-user-select:none;user-select:none;margin-left:-4px;padding:4px 6px 4px 2px;font-size:13px}.drag-grip:hover{color:var(--text)}.mini:disabled{opacity:.35;cursor:default}.note-field{color:var(--muted);flex-direction:column;gap:4px;margin-bottom:12px;font-size:12px;font-weight:600;display:flex}.note-field textarea{font:inherit;color:var(--text);border:1px solid var(--line);resize:vertical;background:var(--surface);border-radius:10px;min-height:64px;padding:8px 10px;font-size:14px;font-weight:400;line-height:1.5}.note-field textarea:focus{border-color:var(--accent);outline:none}.note-icon{color:var(--muted);vertical-align:-1px;flex:none}.note-label{align-items:center;gap:6px;display:flex}.note-progress{color:var(--accent-strong);background:var(--surface-2);border:1px solid var(--line);font-variant-numeric:tabular-nums;border-radius:10px;padding:0 7px;font-size:11px;font-weight:700}.note-view{border:1px solid var(--line);cursor:text;background:var(--surface);min-height:44px;color:var(--text);border-radius:10px;flex-direction:column;gap:3px;padding:8px 10px;font-size:14px;font-weight:400;display:flex}.note-view:hover{border-color:var(--accent)}.note-line{white-space:pre-wrap;word-break:break-word;margin:0;line-height:1.5}.note-check{cursor:pointer;align-items:flex-start;gap:8px;width:fit-content;max-width:100%;line-height:1.5;display:flex}.note-check input{accent-color:var(--accent-strong);flex:none;margin-top:3px}.note-check span{word-break:break-word}.note-check.done span{color:var(--muted);text-decoration:line-through}.modal .note-view .note-check{color:var(--text);flex-direction:row;align-items:flex-start;gap:8px;font-size:14px;font-weight:400}.modal .note-view .note-check.done{color:var(--muted)}.modal .note-view .note-check input{width:auto;margin:4px 0 0;padding:0}.auth-wrap{background:var(--bg);place-items:center;min-height:100%;padding:24px 16px;display:grid}.auth-card{background:var(--surface);border:1px solid var(--line);width:100%;max-width:360px;box-shadow:var(--shadow);border-radius:18px;flex-direction:column;gap:12px;padding:28px 24px;display:flex}.auth-brand{color:var(--accent-strong);font-size:20px;font-weight:800}.auth-card h1{margin:0 0 4px;font-size:22px}.auth-card label{color:var(--muted);flex-direction:column;gap:4px;font-size:12px;font-weight:600;display:flex}.auth-card input[type=email],.auth-card input[type=password]{font:inherit;color:var(--text);border:1px solid var(--line);background:var(--surface);border-radius:10px;padding:10px 12px;font-size:15px}.auth-card input:focus{border-color:var(--accent);outline:none}.auth-card .auth-check{color:var(--text);flex-direction:row;align-items:center;gap:8px;font-size:13px}.auth-submit{justify-content:center;width:100%;padding:10px;font-size:15px}.auth-info{color:var(--accent-strong);margin:0;font-size:13px}.auth-links{justify-content:center;gap:14px;display:flex}.auth-links button{all:unset;cursor:pointer;color:var(--muted);font-size:13px}.auth-links button:hover{color:var(--text);text-decoration:underline}.account{flex-direction:column;gap:8px;display:flex}.account .row{flex-wrap:wrap;gap:8px}.sync-status{top:calc(10px + env(safe-area-inset-top,0px));z-index:80;background:var(--surface);border:1px solid var(--line);color:var(--muted);box-shadow:var(--shadow);border-radius:14px;padding:4px 12px;font-size:12px;position:fixed;left:50%;transform:translate(-50%)}.sync-status.offline{color:var(--danger)}.week-row{grid-template-columns:52px repeat(7,minmax(0,1fr))}.week-strip{grid-template-columns:52px minmax(0,1fr)}.allday-cell,.week-day-head,.day-col{min-width:0}.allday-cell .chip{white-space:normal;overflow-wrap:anywhere;word-break:break-all;-webkit-line-clamp:3;-webkit-box-orient:vertical;line-height:1.3;display:-webkit-box}@media (width<=600px),(pointer:coarse) and (height<=600px){.allday-cell{padding:3px 2px}.allday-cell .chip{padding:2px 4px;font-size:11px}.gutter.label{padding:4px 1px;font-size:9.5px}.week{overscroll-behavior:contain;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;scroll-padding-left:34px;display:block;overflow:auto;container-type:inline-size}.week>*{--col:calc((100cqw - 34px) / 4);width:calc(34px + 7 * var(--col))}.week-row{grid-template-columns:34px repeat(7, var(--col))}.week-strip{grid-template-columns:34px minmax(0,1fr)}.week-top{z-index:6;background:var(--surface);position:sticky;top:0}.week-scroll{overflow:visible}.week-day-head{scroll-snap-align:start}.gutter{z-index:5;background:var(--surface);position:sticky;left:0}.week-strip .gutter{background:#fdfbf3}.calendar.month-view{padding:0}.calendar.month-view .month{box-shadow:none;border-radius:0}.calendar.week-view{padding:0}.calendar.week-view .week{box-shadow:none;border-radius:0}.month .task-bar .bar-time{display:none}}.mobile-actions{display:none}@media (width<=600px),(pointer:coarse) and (height<=600px){.topbar{padding:8px 10px;padding-top:calc(8px + env(safe-area-inset-top,0px));flex-wrap:nowrap;gap:6px}.topbar .brand,.topbar .actions{display:none}.nav{flex:0 auto;gap:2px;min-width:0}.nav h2{white-space:nowrap;text-overflow:ellipsis;min-width:0;margin:0 4px;font-size:15px;overflow:hidden}.nav .icon-btn{width:26px;padding:0}.nav .btn.small{white-space:nowrap;padding:4px 9px}.seg{flex:none;padding:2px}.seg button{padding:4px 10px;font-size:13px}.mobile-actions{flex:none;align-items:center;gap:4px;margin-left:auto;display:flex;position:relative}.mobile-actions .btn.small{white-space:nowrap;padding:4px 8px}.top-menu{min-width:140px;position:absolute;top:calc(100% + 6px);left:auto;right:0}}.push-setting{margin-top:10px}.push-setting .row{justify-content:space-between;align-items:center;gap:8px;display:flex}@media (pointer:coarse){.block.task{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.block.task.lifted{opacity:.35}.block.task.selected{z-index:5;outline:2px solid var(--accent-strong);outline-offset:1px;overflow:visible}.block.task.selected .resize{touch-action:none;background:0 0;height:22px}.block.task.selected .resize.top{top:-12px}.block.task.selected .resize:not(.top){bottom:-12px}.block.task.selected .resize:after{content:"";border:2px solid var(--accent-strong);background:#fff;border-radius:50%;width:10px;height:10px;margin:-5px 0 0 -5px;position:absolute;top:50%;left:50%}}.run-dock{display:none}@media (width<=600px),(pointer:coarse) and (height<=600px){.running-stack{display:none}.run-dock{right:calc(16px + env(safe-area-inset-right,0px));bottom:calc(92px + env(safe-area-inset-bottom,0px));z-index:31;flex-direction:column;align-items:flex-end;gap:8px;display:flex;position:fixed}.run-pill{border:2px solid var(--accent);background:var(--surface);width:54px;height:54px;box-shadow:var(--shadow);cursor:pointer;border-radius:27px;transition:width .25s;position:relative}.run-dock.open .run-pill{cursor:default;width:min(100vw - 32px,480px)}.run-pill.extra{animation:.25s run-up}@keyframes run-up{0%{opacity:0;width:54px;transform:translateY(10px)}}.run-face,.run-bar{align-items:center;transition:opacity .15s;display:flex;position:absolute;inset:0}.run-face{flex-direction:column;justify-content:center;gap:4px}.run-bar{opacity:0;pointer-events:none;border-radius:27px;gap:8px;padding:0 7px 0 16px;overflow:hidden}.run-dock.open .run-face{opacity:0;pointer-events:none}.run-dock.open .run-bar{opacity:1;pointer-events:auto;transition-delay:.1s}.run-bar b{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.run-bar .muted{white-space:nowrap;font-size:12px}.run-bar .btn{flex-shrink:0}.fab-time{font-variant-numeric:tabular-nums;font-size:11px;font-weight:700}.fab-count{background:var(--danger);color:#fff;border-radius:10px;justify-content:center;align-items:center;min-width:20px;height:20px;padding:0 5px;font-size:11px;font-weight:700;display:flex;position:absolute;top:-6px;right:-6px}}.modal:has(.day-list){max-width:560px}.day-text{flex-direction:column;gap:1px;display:flex}.day-text .title{word-break:keep-all;overflow-wrap:anywhere;line-height:1.4}.day-list .day-text .time{min-width:0;font-size:11px}.day-list li .mini{flex-shrink:0}@media (pointer:coarse) and (height<=600px) and (width>=601px){.week>*{--col:calc((100cqw - 34px) / 7)}.topbar{padding-left:calc(10px + env(safe-area-inset-left,0px));padding-right:calc(10px + env(safe-area-inset-right,0px))}}.drawer{display:contents}.drawer-handle{display:none}@media (width<=600px),(pointer:coarse) and (height<=600px){.app{height:100dvh;overflow:hidden}.body{flex-direction:column;flex:1;min-height:0}.calendar{flex:1;min-height:0!important;padding-bottom:calc(76px + env(safe-area-inset-bottom,0px))!important}.drawer{z-index:25;height:calc(76px + env(safe-area-inset-bottom,0px));background:var(--bg);border-radius:20px 20px 0 0;flex-direction:column;transition:height .22s;display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -8px 24px #503c6429}.drawer.half{height:50dvh}.drawer.full{height:calc(100dvh - var(--topbar-h,48px) - 8px)}.drawer.dragging{transition:none}.drawer-handle{touch-action:none;cursor:grab;flex:none;justify-content:center;align-items:center;height:24px;display:flex}.drawer-handle span{background:#cfc5d6;border-radius:3px;width:40px;height:5px}.drawer .sidebar{width:auto;min-height:0;max-height:none;padding:0 14px calc(14px + env(safe-area-inset-bottom,0px));overscroll-behavior:contain;background:0 0;border:0;flex:1;overflow-y:auto}.drawer.peek .sidebar{overflow:hidden}.drawer .sidebar>section,.drawer .sidebar>section.repeat-section,.drawer .sidebar>section.memo{flex:none;max-height:none;margin-top:0;overflow:visible;min-height:0!important}.drawer .repeat-body,.drawer .memo-list{max-height:none;overflow:visible}.todo-drop{z-index:3;padding-bottom:env(safe-area-inset-bottom,0px);border:2px dashed var(--accent);color:var(--accent-strong);background:#f6f1fc;border-radius:20px 20px 0 0;justify-content:center;align-items:center;font-size:15px;font-weight:700;display:flex;position:absolute;inset:0}.todo-drop.hot{border-style:solid;border-color:var(--accent-strong);background:#e8dcfa}}.nowrap{white-space:nowrap;display:inline-block}.month.editing .shift-label{cursor:pointer}.month.editing .shift-label:hover{text-decoration:underline}.side-item.template.picked,.cat-head.picked{box-shadow:inset 0 0 0 2px var(--accent-strong)}.dots-btn{width:28px;height:24px;color:var(--accent-strong);background:0 0;border:0;border-radius:6px;flex:none;justify-content:center;align-items:center;margin:-4px -6px -4px 4px;padding:0;font-size:17px;font-weight:700;line-height:1;display:inline-flex}.side-item.template>.side-title+.dots-btn,.cat-head>.cat-name+.dots-btn,.side-item.template .goal-left{margin-left:auto}.goal-left+.dots-btn{margin-left:2px}body{background:var(--bg)}.topbar{background:var(--surface);border-bottom:1px solid var(--line);flex-wrap:nowrap;grid-template-columns:1fr auto 1fr;align-items:center;gap:16px;height:68px;padding:0 24px;display:grid}.top-left{align-items:center;gap:14px;display:flex}.brand-logo{object-fit:contain;flex:none;width:40px;height:40px}.seg{border:1px solid var(--accent);background:var(--surface-2);border-radius:16px;gap:2px;padding:3px}.seg button{color:var(--muted);border-radius:13px;padding:4.5px 16px 5.5px;font-weight:600}.seg button.on{background:var(--surface);color:var(--text);box-shadow:none}.nav{justify-content:center;gap:18px}.nav h2{letter-spacing:2px;text-align:center;min-width:170px;margin:0;font-size:24px;font-weight:700}.nav .icon-btn{width:auto;height:auto;color:var(--muted);background:0 0;padding:0 4px;font-size:24px;line-height:1}.nav .icon-btn:hover{color:var(--text)}.btn.today{border:1px solid var(--accent);background:var(--surface-2);letter-spacing:2px;white-space:nowrap;border-radius:16px;padding:7.5px 12px 8.5px 16px;font-size:14px;font-weight:600}.actions{flex-wrap:nowrap;justify-self:end;align-items:center;gap:10px;margin-left:0;display:flex}.actions .btn{background:var(--surface-2);border-color:var(--accent);white-space:nowrap;border-radius:16px;align-items:center;gap:6px;padding:8px 14px;font-size:14px;font-weight:600;display:flex}.actions .btn.active{background:#efe9fa;border-color:#a48fd6}.square-btn{border:1px solid var(--card-line);background:var(--surface);width:38px;height:38px;color:var(--text);border-radius:16px;place-items:center;padding:0;display:grid}.square-btn:hover{background:var(--surface-2)}.body{gap:8px;padding:8px}.calendar{padding:0}.month,.week{border:1px solid var(--card-line);border-radius:var(--radius);box-shadow:none}.btn{border:1px solid var(--line-strong);background:var(--surface);border-radius:12px;padding:8px 12px;font-size:12px;font-weight:500}.btn.small{padding:5px 12px;font-size:12px}.btn.tiny{color:var(--sub);white-space:nowrap;flex:none;padding:4px 10px;font-size:12px}.btn.primary{background:var(--sky);border-color:var(--accent);color:var(--text);font-weight:600}.btn.primary:hover{background:#dbe5f8}.btn.danger{color:var(--danger);border-color:#f2c3cf}.btn.dark{background:var(--text);border-color:var(--text);color:#fff;padding:10px;font-size:13px;font-weight:700}.btn.dark:hover{background:#3c3642}.btn.going{border:2px solid var(--accent-strong);background:var(--sky);padding:8px}.btn.active{color:var(--text);background:#efe9fa;border-color:#a48fd6}.btn:disabled{opacity:.45;cursor:default}.month-head{align-items:center;height:34px}.month-head div{letter-spacing:1.2px;color:var(--sub);padding:0;font-size:12px;font-weight:700}.cell{padding:6px}.cell:hover{background:#fbfcff}.cell.dim{background:var(--surface-2)}.cell.dim .date-num{opacity:1;color:#b3b9c6}.cell.dim .date-num.sun{color:#ecc0cc!important}.cell.dim .date-num.sat{color:#c3d0e6!important}.date-num{width:fit-content;min-width:22px;height:22px;color:var(--text);border-radius:11px;margin-bottom:4px;padding:0 0 1.5px;font-size:14px;font-weight:700}.date-num.today{background:var(--pink)}.cell-items{gap:3px}.bar{height:22px;color:var(--text);border-radius:6px;flex:none;padding:.8px 5px 0;font-size:12px;font-weight:500;line-height:1}.task-bar.running{font-weight:700}.task-bar.done{opacity:.5;color:var(--text)}.bar-time{font-size:12px;font-weight:inherit;color:inherit;opacity:1}.more,button.more{color:var(--muted);padding:0 4px;font-size:12px;font-weight:500}.cell.over,.over{outline:2px dashed var(--accent-strong);background:#eef3fc!important}.shift-rule{border-top:1px solid var(--work-line)}.shift-label{color:var(--sub);font-size:12px;font-weight:500}.cell.dim+.shift-line .shift-label{background:var(--surface-2)}.month.editing .month-grid{outline-color:#a48fd6}.week-day-head{align-items:center;gap:4px;padding:12px 0 6px}.week-day-head span{letter-spacing:1.5px;color:var(--muted);font-size:12px;font-weight:600}.week-day-head b{width:auto;min-width:36px;height:36px;padding-bottom:1px;font-size:20px;font-weight:700}.week-day-head.sat b{color:var(--text)}.week-day-head.today b{background:var(--pink);color:#fff}.week-shift-bar{background:var(--surface);border:1px solid #8c8590;border-radius:6px;height:22px;margin:0 8px 6px}.week-shift-bar span{color:var(--text);font-size:12px;font-weight:500}.gutter.label{letter-spacing:1.2px;color:var(--muted);justify-content:center;align-items:center;padding:0;font-size:10px;font-weight:700;display:flex}.gutter.label .sc{letter-spacing:1.2px}.week-strip{background:var(--surface-2);min-height:30px}.strip-body{min-height:30px;padding:2px 6px}.hint{color:var(--muted);padding-left:8px;font-size:13px}.allday-cell{min-height:40px}.chip{color:var(--text);border-radius:6px;padding:3px 6px;font-size:12px}.chip.running{font-weight:700}.chip.done{opacity:.5;color:var(--text)}.hour-label{font-size:12px}.hour-line{border-top-color:var(--line)}.block{border-radius:6px;gap:1px;padding:3px 6px}.block.task{box-shadow:none;color:var(--text)}.block-title{font-size:13px;font-weight:500}.block.task.running .block-title{font-weight:700}.block.task.done{opacity:.5;color:var(--text)}.block-time{color:var(--sub);opacity:1;font-size:12px}.drop-preview{border:1.5px dashed var(--accent-strong);color:var(--accent-strong);background:#6f9be01f;border-radius:6px}.sidebar{background:0 0;border-left:0;gap:8px;width:300px;padding:0}.sidebar>section{background:var(--surface);border:1px solid var(--card-line);border-radius:var(--radius);box-shadow:none;padding:0}.sidebar h4{background:var(--sky);border-bottom:1px solid var(--line);letter-spacing:2px;border-radius:0;flex:none;gap:8px;height:40px;margin:0;padding:0 16px;font-size:13px;font-weight:700}.sidebar h4 .sc{letter-spacing:2px}.sidebar>section>h4{border-radius:calc(var(--radius) - 1px) calc(var(--radius) - 1px) 0 0}.sidebar>section.repeat-section.closed h4{border-radius:calc(var(--radius) - 1px);border-bottom:0;margin-bottom:0}.head-tabs{gap:20px;margin:0}.head-tab{color:var(--muted);border-bottom:0;font-size:13px}.head-tab.on,.chev-btn{color:var(--text)}.repeat-section h4 .header-count{letter-spacing:0;color:var(--muted);font-size:12px;font-weight:700}.repeat-body{flex-direction:column;gap:6px;margin:0;padding:10px 12px;display:flex}.cat-group{flex-direction:column;gap:4px;margin:0;display:flex}.cat-group.achieved{opacity:.55}.cat-head{border-radius:6px;gap:8px;padding:6px 0 0;font-size:13px;font-weight:700}.side-item{border-radius:10px;margin:0;padding:8px 12px;font-size:13px}.side-item.template{margin-left:0}.side-item.template:hover{border-color:var(--line-strong)}.goal-left{align-self:center;gap:4px;height:12px;font-size:12px;font-weight:700;line-height:12px}.goal-left>span{height:12px;line-height:12px;display:block}.auto-mark{color:var(--text)}.sidebar>section.memo>.cat-chips{gap:6px;margin:10px 12px 4px}.cat-chip{border:1px solid;border-radius:999px;padding:4px 12px;font-size:12px;font-weight:500}.memo-list{margin:0;padding:0 12px}.memo-list .side-item{border-radius:6px;margin:0 -6px;padding:4px 6px}.memo-list .side-item:hover{background:var(--surface-2);border-color:#0000}.memo-list .side-item.unplaced{background:0 0;border-style:dashed}.unplaced-tag{color:var(--danger);background:#fbe9ee}.memo-input{border:1px dashed var(--work-line);background:var(--surface-2);border-radius:6px;width:calc(100% - 24px);margin:8px 12px 12px;padding:8px 12px;font-size:13px}.memo-input::placeholder{color:var(--muted)}.memo-input:focus{border-color:var(--accent-strong)}@media (width<=1300px){.sidebar{width:260px}}@media (width<=900px) and (width>=601px) and (height>=601px){.calendar{min-height:0}.sidebar{border-top:0;flex-direction:row;flex:none;width:100%;height:330px;max-height:none}.sidebar>section,.sidebar>section.repeat-section,.sidebar>section.memo{flex:1 1 0;min-width:0;max-height:none;margin-top:0;min-height:0!important}.sidebar>section.repeat-section.closed{flex:1 1 0}}.running-stack{bottom:calc(14px + env(safe-area-inset-bottom,0px))}.running-bar{background:var(--surface);border:1px solid var(--card-line);box-shadow:var(--shadow);border-radius:22px;align-items:center;gap:14px;padding:10px 12px 10px 10px;display:flex}.ring{flex:none;position:relative}.ring svg{display:block;transform:rotate(-90deg)}.ring>span{white-space:nowrap;justify-content:center;align-items:center;font-size:13px;font-weight:700;display:flex;position:absolute;inset:0}.ring.long>span{font-size:11px}.running-text{flex-direction:column;gap:2px;min-width:150px;max-width:260px;display:flex}.running-text b{text-overflow:ellipsis;white-space:nowrap;font-size:16px;font-weight:700;overflow:hidden}.running-label{color:var(--muted);align-items:center;gap:6px;font-size:11px;font-weight:700;display:flex}.running-label.sc{letter-spacing:1.6px}.running-label .pulse{width:7px;height:7px}.stop-btn{background:var(--sky);border:1px solid var(--accent);border-radius:16px;flex:none;place-items:center;width:44px;height:44px;padding:0;display:grid}.stop-btn:hover{background:#dbe5f8}.stop-btn span{background:var(--text);border-radius:3px;width:14px;height:14px}.overlay{background:#4a435061}.modal{width:100%;max-width:360px;box-shadow:var(--pop-shadow);border-radius:20px;flex-direction:column;gap:14px;padding:22px 24px;font-size:13px;display:flex}.modal-head{border-bottom:1px solid var(--line);gap:12px;margin:0;padding-bottom:14px}.modal-head.plain{border-bottom:0;padding-bottom:0}.modal-head h3{min-width:0;min-height:20px;font-size:16px;font-weight:700;line-height:20px}.modal-head>.icon-btn{width:20px;height:20px;color:var(--muted);flex:none;place-items:center;padding:0;font-size:18px;line-height:1;display:grid}.modal .row.end{margin-top:2px}.modal .form{margin-top:0}.sec-label{letter-spacing:.1em;color:var(--text);font-size:11px;font-weight:700}.modal input:not([type=checkbox]),.modal textarea{border:1px solid var(--line-strong);border-radius:10px}.ask-msg{margin:0}.ask-modal{max-width:340px}@media (pointer:coarse) and (width>=601px) and (height>=601px){.modal{zoom:.9}}.task-modal .modal-head h3{flex:1}.title-input{background:0 0;width:100%;height:20px;padding:0;font-size:16px;font-weight:700;line-height:20px;border:0!important;border-radius:0!important}.title-input:focus{box-shadow:0 1px 0 var(--accent-strong)}.info-grid{border-bottom:1px solid var(--line);grid-template-columns:60px 1fr;align-items:center;row-gap:8px;padding-bottom:12px;display:grid}.info-label{color:var(--text);font-size:11px;font-weight:600}.info-when{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.pill{border-radius:999px;padding:1px 10px;font-size:12px;font-weight:600}.note-field{color:var(--text);gap:8px;margin:0;font-size:11px}.note-progress{background:var(--accent);color:var(--text);border:0;border-radius:999px;padding:1px 8px;font-size:11px;font-weight:700}.note-field textarea{font-size:13px}.note-view{border:0;border-radius:8px;gap:8px;min-height:24px;margin:-4px -6px;padding:4px 6px;font-size:13px}.note-view:hover{background:var(--surface-2)}.modal .note-view .note-check{align-items:center;gap:8px;font-size:13px}.modal .note-view .note-check input,.note-check input{appearance:none;border:1.5px solid var(--muted);background:var(--surface);cursor:pointer;border-radius:4px;flex:none;width:14px;height:14px;margin:0}.modal .note-view .note-check input:checked,.note-check input:checked{background:var(--accent-strong) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M2.5 6.2l2.3 2.3 4.7-5' fill='none' stroke='%23fff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 11px no-repeat;border-color:var(--accent-strong)}.btn-row{gap:8px}.btn-row .btn{white-space:nowrap}.day-group{flex-direction:column;gap:6px;display:flex}.sec-label.sc{letter-spacing:.1em}.sec-label.in-progress{color:var(--danger)}.day-item{align-items:center;gap:10px;padding:4px 2px;display:flex}.day-item.running{background:var(--surface-2);border-radius:12px;padding:10px 12px}.day-item.running .title{font-weight:600}.day-item .dot{width:8px;height:8px}.day-item .title{word-break:keep-all;overflow-wrap:anywhere}.day-item .time{color:var(--muted);font-size:11px;font-weight:400}.day-item.done{color:var(--muted)}.day-item.done .title{text-decoration:line-through}.day-item .btn{white-space:nowrap;flex:none}.day-item .btn.small{padding:4px 10px}.day-shifts{flex-wrap:wrap;gap:6px;display:flex}.shift-chip{border:1px solid #8c8590;border-radius:6px;padding:0 10px;font-size:12px;font-weight:500;line-height:20px}.month-nav{color:var(--sub);align-items:center;gap:2px;font-size:13px;font-weight:600;display:flex}.month-nav .sc{letter-spacing:0;text-align:center;min-width:62px}.month-nav .icon-btn{width:18px;height:20px;padding:0;font-size:15px}.donut{width:150px;height:150px;margin:6px auto;position:relative}.donut svg{display:block}.donut-center{flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.donut-center span{font-size:11px}.donut-center b{font-size:24px;font-weight:700}.legend{border-top:1px solid var(--line);flex-direction:column;gap:8px;padding-top:12px;display:flex}.legend p{margin:0}.legend-row{align-items:center;gap:8px;display:flex}.legend-row .dot{width:8px;height:8px}.legend-time{color:var(--sub);font-size:12px}.legend-pct{text-align:right;width:34px;font-weight:700}.settings-modal{gap:16px;max-width:400px}.set-section{border-bottom:1px solid #e3dce2;flex-direction:column;gap:10px;padding-bottom:16px;display:flex}.set-section:last-child{border-bottom:0;padding-bottom:0}.modal label.set-row,.set-row{color:var(--text);flex-direction:row;justify-content:space-between;align-items:center;gap:8px;font-size:13px;font-weight:400;display:flex}.set-num{color:var(--sub);align-items:center;gap:6px;font-size:12px;display:flex}.modal .set-num input{text-align:center;-moz-appearance:textfield;width:52px;padding:5px 6px;font-size:13px;font-weight:600}.set-num input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.set-num input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.set-hint{color:var(--muted);margin:0;font-size:11px}.push-setting{margin:0}.push-setting p{margin:4px 0 0;font-size:11px}.cat-manage{gap:10px}.cat-row{background:var(--surface-2);border-radius:12px;gap:10px;padding:8px 12px}.cat-row .dot{width:8px;height:8px}.drag-grip{color:#cfc6d0}.add-dashed{background:var(--surface);width:100%;color:var(--sub);border:1px dashed #cfc6d0;border-radius:12px;padding:8px;font-size:12px}.add-dashed:hover{color:var(--text)}.wt-form{background:var(--surface-2);margin-top:0}.account p{margin:0;font-size:12px}.account input{flex:1;min-width:0;padding:6px 10px}.set-section>.btn{align-self:flex-start}.ask-task{align-items:center;gap:14px;display:flex}.ask-task .ring>span{font-size:12px}.ask-task-text{flex-direction:column;gap:2px;min-width:0;display:flex}.ask-task-text b{font-size:15px;font-weight:700}.ask-task-text .muted{font-size:12px}.ask-row{gap:8px}.ask-row .btn{font-weight:600}@media (width<=600px),(pointer:coarse) and (height<=600px){.topbar{height:auto;min-height:calc(48px + env(safe-area-inset-top,0px));padding:env(safe-area-inset-top,0px) 14px 0;gap:10px;display:flex}.top-left{display:contents}.brand-logo{display:none}.nav{order:1;justify-content:flex-start;gap:10px}.nav .prev{order:0}.nav .next{order:1}.nav h2{letter-spacing:1px;text-align:left;order:2;min-width:0;margin:0;font-size:15px}.nav .icon-btn{width:auto;padding:0 2px;font-size:18px}.nav .btn.today{letter-spacing:1.5px;border-radius:12px;order:3;padding:4px 7px 4px 9px;font-size:11px}.seg{border-radius:12px;order:2;padding:2px}.seg button{border-radius:10px;padding:3px 10px;font-size:12px}.mobile-actions{order:3}.menu-btn{color:var(--muted)}.body{gap:0;padding:0}.month,.week{border:0}.month-head{height:28px}.month-head div{font-size:11px}.cell{padding:3px}.date-num{padding-bottom:1px;font-size:13px}.bar{height:18px;padding-top:.4px;font-size:11px}.more,button.more,.shift-label{font-size:11px}.week-day-head{padding-top:10px}.week-day-head span{font-size:11px}.week-day-head b{min-width:30px;height:30px;font-size:17px}.hour-label{font-size:11px}.block-title{font-size:12px}.block-time{font-size:11px}.hint{white-space:nowrap;padding-left:4px;font-size:12px}.gutter.label,.gutter.label .sc{letter-spacing:.3px;font-size:9px}.drawer{background:var(--surface-2);border-radius:18px 18px 0 0;box-shadow:0 -4px 16px #5a46641a}.drawer-handle span{background:var(--accent);border-radius:2px;width:40px;height:4px}.drawer .sidebar{padding:0 14px calc(14px + env(safe-area-inset-bottom,0px));gap:8px}.run-pill{border:2px solid var(--surface-2);box-shadow:0 6px 18px #5a466433}.run-bar{gap:10px;padding:0 6px 0 18px}.run-bar b{font-size:16px}.run-bar .muted{letter-spacing:1.5px}.run-bar .btn.primary{letter-spacing:1.5px;border-radius:16px;padding:10px 16px;font-weight:700}.fab-time{font-size:12px}.modal{max-width:min(360px,100vw - 32px)}.settings-modal{max-width:min(400px,100vw - 32px)}}
