.mbtn{display:none}
@media(max-width:760px){.mbtn{display:inline-block}}

.plan{flex:1;overflow:auto;padding:4px 6px 90px;display:flex;flex-direction:column;gap:14px;animation:fade .35s both}
.ptool{display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.ptool .btn-new{padding:10px 16px}
.seg{display:flex;padding:4px;gap:2px;border-radius:14px;background:var(--surface);border:1px solid var(--line)}
.seg button{padding:7px 14px;border-radius:10px;color:var(--muted);transition:all .25s var(--ease)}
.seg button:hover{color:var(--text)}
.seg button.on{background:linear-gradient(135deg,var(--accent),var(--accent2));color:#fff;box-shadow:0 4px 12px hsl(var(--th) 70% 60% / .3)}
.switch{display:flex;align-items:center;gap:8px;cursor:pointer;user-select:none;font-size:14px;color:var(--muted)}
.switch input{display:none}
.switch i{position:relative;width:42px;height:24px;border-radius:99px;background:var(--line);transition:background .3s}
.switch i::after{content:'';position:absolute;left:3px;top:3px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 1px 4px #0004;transition:transform .35s var(--ease)}
.switch input:checked+i{background:linear-gradient(135deg,var(--accent),var(--accent2))}
.switch input:checked+i::after{transform:translateX(18px)}
.trips{display:flex;gap:8px;flex-wrap:wrap}
.tchip{padding:6px 14px;border-radius:99px;background:var(--surface);border:1px solid var(--line);color:var(--muted);transition:all .25s var(--ease)}
.tchip:hover{transform:translateY(-2px);color:var(--text)}
.tchip.on{background:linear-gradient(135deg,hsl(var(--th) 70% 70% / .35),hsl(calc(var(--th) + 40) 70% 70% / .3));color:var(--text);font-weight:600;border-color:var(--accent)}

.pstats{display:grid;grid-template-columns:1fr auto;align-items:center;gap:6px 10px;padding:0 2px}
.ppill{position:relative;height:20px;border-radius:99px;background:hsl(var(--th) 40% 70% / .28);overflow:hidden}
.ppill i{position:absolute;left:0;top:0;bottom:0;width:0;border-radius:99px;background:linear-gradient(90deg,var(--accent),var(--accent2));transition:width .9s var(--ease)}
.ppill span{position:absolute;inset:0;display:grid;place-items:center;font-size:11px;font-weight:700;color:var(--text)}
.ppill.full i{background:linear-gradient(90deg,hsl(145 70% 62%),hsl(165 70% 62%))}
.pcount{font-size:13px;color:var(--muted);font-variant-numeric:tabular-nums}
.pstats .next{grid-column:1/-1;font-size:13px;color:var(--muted)}
.pstats .next b{color:var(--text)}

.pday{display:flex;flex-direction:column;gap:10px}
.pdh{display:flex;align-items:center;gap:10px;font-weight:700;position:sticky;top:0;z-index:2;padding:8px 12px;border-radius:12px;background:var(--surface);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid var(--line)}
.pdh .cnt{margin-left:auto}
.pdh.is-today{background:linear-gradient(135deg,hsl(var(--th) 70% 70% / .35),hsl(calc(var(--th) + 40) 70% 70% / .3));border-color:var(--accent);box-shadow:0 4px 14px hsl(var(--th) 70% 60% / .22)}

.pi{--h:var(--th);display:grid;grid-template-columns:62px 16px 1fr 36px;gap:10px;align-items:stretch;animation:pop .5s var(--ease) both}
.plan.still .pi{animation:none}
.ptime{text-align:right;padding-top:14px;line-height:1.3}
.ptime b{display:block;font-size:15px}
.ptime span{font-size:12px;color:var(--muted)}
.pline{position:relative;display:flex;justify-content:center}
.pline::before{content:'';position:absolute;top:0;bottom:-10px;width:2px;background:var(--line)}
.pday>.pi:last-child .pline::before{bottom:0}
.pdot{position:relative;z-index:1;margin-top:18px;width:14px;height:14px;border-radius:50%;background:hsl(var(--h) 75% 70%);border:3px solid var(--surface-solid);box-shadow:0 0 0 2px hsl(var(--h) 60% 70% / .5)}
.st-live .pdot{animation:ring 1.6s ease-out infinite}
@keyframes ring{0%{box-shadow:0 0 0 0 hsl(var(--h) 80% 60% / .6)}100%{box-shadow:0 0 0 14px hsl(var(--h) 80% 60% / 0)}}

.pcard{padding:14px 16px;border-radius:var(--r);background:hsl(var(--h) var(--card-s) var(--card-l));border:1px solid hsl(var(--h) 40% 70% / .35);box-shadow:var(--shadow);cursor:pointer;display:flex;flex-direction:column;gap:6px;transition:transform .3s var(--ease),box-shadow .3s,opacity .4s}
.pcard:hover{transform:translateX(4px) translateY(-2px);box-shadow:0 14px 34px hsl(var(--h) 40% 40% / .22)}
.st-live .pcard{border-color:hsl(var(--h) 70% 60%);box-shadow:0 0 0 3px hsl(var(--h) 80% 65% / .25),var(--shadow)}
.st-done .pcard,.st-autodone .pcard{opacity:.62}
.st-done .ptitle,.st-autodone .ptitle{text-decoration:line-through}
.st-late .pcard{border-color:hsl(10 80% 65%)}
.phead{display:flex;align-items:center;gap:8px}
.pico{font-size:20px}
.ptitle{font-size:16px;font-weight:600;word-break:break-word}
.pmeta{font-size:13px;color:var(--muted);word-break:break-word}
.pnote{font-size:13px;color:var(--muted);white-space:pre-wrap;word-break:break-word}
.pbadges{display:flex;gap:6px;flex-wrap:wrap}
.badge{font-size:12px;padding:2px 10px;border-radius:99px;background:hsl(var(--th) 60% 65% / .22)}
.b-live{background:hsl(145 70% 70% / .45)}
.b-late{background:hsl(10 90% 75% / .45)}
.b-done{background:hsl(var(--th) 20% 70% / .3)}
.b-warn{background:hsl(40 95% 70% / .5)}
.pbar{height:6px;border-radius:99px;background:hsl(var(--h) 40% 70% / .3);overflow:hidden}
.pbar i{display:block;height:100%;border-radius:99px;background:hsl(var(--h) 75% 60%);transition:width 1s linear}

.pchk{align-self:center;width:32px;height:32px;border-radius:50%;border:2px solid hsl(var(--h) 55% 65%);background:var(--surface-solid);display:grid;place-items:center;transition:all .3s var(--ease)}
.pchk svg{width:18px;height:18px;stroke:#fff;stroke-width:3;fill:none;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:24;stroke-dashoffset:24;transition:stroke-dashoffset .4s var(--ease) .1s}
.pchk:hover{transform:scale(1.15)}
.pchk.on{background:linear-gradient(135deg,hsl(var(--h) 70% 62%),hsl(calc(var(--h) + 30) 75% 66%));border-color:transparent}
.pchk.on svg{stroke-dashoffset:0}
.pchk.auto{background:hsl(var(--h) 50% 70%)}
.pchk.bounce{animation:tick .5s var(--ease)}
@keyframes tick{40%{transform:scale(1.35) rotate(-8deg)}}

.pform{overflow:auto;gap:12px}
.pform h2{font-size:20px}
[data-mode=dark] .pform{color-scheme:dark}
.fld{display:flex;flex-direction:column;gap:5px;font-size:13px;color:var(--muted)}
.fld input,.fld textarea{padding:10px 12px;border-radius:12px;border:1px solid var(--line);background:var(--surface-solid);color:var(--text);outline:0;transition:border-color .25s,box-shadow .25s}
.fld input:focus,.fld textarea:focus{border-color:var(--accent);box-shadow:0 0 0 4px hsl(var(--th) 70% 65% / .2)}
#pNote{min-height:70px;flex:none;resize:vertical;background:var(--surface-solid);border-radius:12px;padding:10px 12px;line-height:1.5}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.cats{display:flex;gap:8px;flex-wrap:wrap}
.cat{padding:7px 12px;border-radius:99px;border:1px solid var(--line);background:var(--surface-solid);transition:all .25s var(--ease)}
.cat:hover{transform:translateY(-2px)}
.cat.on{background:linear-gradient(135deg,var(--accent),var(--accent2));color:#fff;border-color:transparent}
.ib.danger:hover{border-color:hsl(10 80% 60%);color:hsl(10 80% 50%)}
.spacer{flex:1}

@media(max-width:560px){
 .grid2{grid-template-columns:1fr}
 .grid3{grid-template-columns:1fr 1fr 1fr;gap:6px}
 .pi{grid-template-columns:48px 12px 1fr 32px;gap:6px}
 .ptime b{font-size:13px}
}
