.pl-shell{min-height:100%;display:flex;flex-direction:column}.pl-top{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:10px;min-height:58px;padding:0 20px;padding-top:env(safe-area-inset-top);border-bottom:1px solid var(--line-2);background:color-mix(in srgb,var(--paper) 80%,transparent);backdrop-filter:saturate(180%) blur(18px);-webkit-backdrop-filter:saturate(180%) blur(18px)}.pl-top .brand{padding:0}.pl-nav{display:flex;gap:2px;margin-left:10px;flex-wrap:wrap}.pl-nav a{display:flex;align-items:center;gap:6px;height:34px;padding:0 11px;border-radius:9px;color:var(--muted);font-weight:550;font-size:13.5px;text-decoration:none;position:relative}.pl-nav a svg{width:16px;height:16px}.pl-nav a:hover{background:var(--sel);text-decoration:none}.pl-nav a[aria-current=page]{background:var(--surface);color:var(--ink);box-shadow:var(--sh-1)}.pl-nav .count,.pl-tabbar .count{position:absolute;top:2px;right:2px;min-width:16px;height:16px;padding:0 4px;border-radius:8px;background:var(--warn);color:#fff;font-size:10px;font-weight:700;display:grid;place-items:center}.pl-page{width:100%;max-width:1080px;margin:0 auto;padding:22px 20px 96px;display:grid;gap:16px;align-content:start}.pl-page.wide{max-width:1400px}.pl-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.pl-grow{flex:1}.pl-head{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap}.pl-head h1{font-size:26px}.pl-head .sub{color:var(--muted);margin-top:2px}.pl-head .actions{margin-left:auto;display:flex;gap:8px}.dot{display:inline-block;width:9px;height:9px;border-radius:50%;flex:none}.chip{display:inline-flex;align-items:center;gap:5px;height:24px;padding:0 9px;border-radius:8px;font-size:12px;font-weight:600;background:var(--sel);color:var(--ink-2);border:0;cursor:pointer;white-space:nowrap}.chip[aria-pressed=true]{background:var(--ink);color:var(--paper)}.chip.ghost{background:transparent;border:1px dashed var(--line);color:var(--muted)}.chips{display:flex;gap:6px;flex-wrap:wrap}.chips.scroll{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;padding-bottom:2px;margin:0 -20px;padding-left:20px;padding-right:20px}.chips.scroll::-webkit-scrollbar{display:none}.qa{display:flex;align-items:center;gap:8px;min-height:48px;padding:0 12px 0 14px;border-radius:var(--r-m);border:1px solid var(--line);background:var(--surface)}.qa:focus-within{border-color:var(--acc);box-shadow:0 0 0 4px color-mix(in srgb,var(--acc) 16%,transparent)}.qa input{flex:1;border:0;background:transparent;font-size:16px;min-width:0}.qa input:focus{outline:none}.qa svg{width:18px;height:18px;color:var(--muted);flex:none}.qa-hint{font-size:12px;color:var(--faint);padding:0 4px}.tl{display:grid}.task{display:flex;align-items:flex-start;gap:10px;padding:10px 14px;border-top:1px solid var(--line-2);background:var(--surface);transition:background .12s;position:relative}.task:first-child{border-top:0}.task.dragging{opacity:.4}.task.over{box-shadow:inset 0 3px 0 var(--acc)}.task .cb{width:22px;height:22px;border-radius:50%;border:2px solid var(--line);background:transparent;flex:none;margin-top:1px;cursor:pointer;display:grid;place-items:center;color:#fff;transition:background .15s,border-color .15s}.task .cb svg{width:13px;height:13px;opacity:0}.task .cb.p1{border-color:var(--bad)}.task .cb.p2{border-color:var(--warn)}.task .cb.p3{border-color:var(--acc)}.task.done .cb{background:var(--ok);border-color:var(--ok)}.task.done .cb svg{opacity:1}.task.done .t{color:var(--muted);text-decoration:line-through}.task .body{flex:1;min-width:0;cursor:pointer}.task .t{font-weight:550;line-height:1.35;overflow-wrap:anywhere}.task .m{display:flex;gap:6px;flex-wrap:wrap;align-items:center;margin-top:3px;font-size:12px;color:var(--muted)}.task .m .late{color:var(--bad);font-weight:600}.task .grip{color:var(--faint);cursor:grab;flex:none;padding:2px;touch-action:none}.task .grip svg{width:16px;height:16px}.task .more{border:0;background:transparent;color:var(--faint);padding:2px;border-radius:6px;cursor:pointer;flex:none}.task .more svg{width:18px;height:18px}.task .more:hover{background:var(--sel);color:var(--ink)}.drop{min-height:44px;border:1px dashed transparent;border-radius:var(--r-m);transition:border-color .15s,background .15s}.drop.over{border-color:var(--acc);background:var(--sel)}.empty-drop{padding:12px 14px;color:var(--faint);font-size:13px}.menu{position:absolute;right:8px;top:38px;z-index:30;min-width:190px;padding:6px;border-radius:12px;background:var(--surface);border:1px solid var(--line);box-shadow:var(--sh-2);display:grid}.menu button{border:0;background:transparent;text-align:left;padding:8px 10px;border-radius:8px;font-size:14px;cursor:pointer;display:flex;gap:8px;align-items:center}.menu button svg{width:15px;height:15px;color:var(--muted)}.menu button:hover{background:var(--sel)}.menu .sep{height:1px;background:var(--line-2);margin:4px 0}.scale{display:flex;gap:6px}.scale button{flex:1;height:44px;border-radius:10px;border:1px solid var(--line);background:var(--surface);font-size:20px;cursor:pointer}.scale button[aria-pressed=true]{background:var(--acc);border-color:var(--acc);color:var(--acc-ink)}.scale.n button{font-size:15px;font-weight:600}.meds{display:flex;gap:6px;flex-wrap:wrap}.meds button{height:34px;padding:0 12px;border-radius:10px;border:1px solid var(--line);background:var(--surface);font-size:13.5px;cursor:pointer;display:inline-flex;align-items:center;gap:6px}.meds button[aria-pressed=true]{background:var(--ok-soft);border-color:var(--ok);color:var(--ok)}.meds button svg{width:14px;height:14px}.pick{display:grid;gap:4px}.pick button{display:flex;gap:10px;align-items:center;text-align:left;padding:8px 10px;border-radius:10px;border:1px solid var(--line-2);background:var(--surface);cursor:pointer;font-size:14px}.pick button[aria-pressed=true]{border-color:var(--acc);background:var(--sel)}.pick .n{width:22px;height:22px;border-radius:50%;background:var(--line-2);display:grid;place-items:center;font-size:12px;font-weight:700;flex:none}.pick button[aria-pressed=true] .n{background:var(--acc);color:var(--acc-ink)}.habit{display:flex;align-items:center;gap:10px;padding:10px 14px;border-top:1px solid var(--line-2)}.habit:first-child{border-top:0}.habit .cb{width:26px;height:26px;border-radius:8px;border:2px solid var(--line);background:transparent;flex:none;cursor:pointer;display:grid;place-items:center;color:#fff}.habit .cb svg{width:15px;height:15px;opacity:0}.habit .cb[aria-checked=true]{background:var(--ok);border-color:var(--ok)}.habit .cb[aria-checked=true] svg{opacity:1}.habit .streak{margin-left:auto;font-size:12.5px;color:var(--muted);display:flex;align-items:center;gap:4px;white-space:nowrap}.habit .streak svg{width:14px;height:14px;color:var(--warn)}.week{display:flex;gap:4px}.week i{width:18px;height:18px;border-radius:5px;background:var(--line-2);display:grid;place-items:center;font-size:9px;color:var(--faint);font-style:normal}.week i.on{background:var(--ok);color:#fff}.week i.miss{background:var(--bad-soft);color:var(--bad)}.week i.off{opacity:.35}.week i.today{outline:2px solid var(--acc);outline-offset:1px}.cal-nav{display:flex;align-items:center;gap:6px}.cal-nav h2{font-size:17px;margin:0 6px}.board{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:10px;align-items:start}.col{background:var(--surface);border:1px solid var(--line-2);border-radius:var(--r-m);box-shadow:var(--sh-1);min-height:160px;display:flex;flex-direction:column}.col.today{border-color:var(--acc)}.col.past{opacity:.75}.col-h{padding:10px 12px;border-bottom:1px solid var(--line-2);font-size:12.5px;font-weight:600;color:var(--muted);display:flex;justify-content:space-between;align-items:baseline}.col-h b{color:var(--ink);font-size:14px}.col.today .col-h b{color:var(--acc)}.col .task{padding:8px 10px}.col .task .t{font-size:13.5px}.month{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.month .d{aspect-ratio:1;border-radius:10px;border:1px solid var(--line-2);background:var(--surface);padding:6px;font-size:12px;cursor:pointer;display:grid;align-content:start;gap:4px}.month .d.dim{opacity:.4}.month .d.today{border-color:var(--acc)}.month .d.sel{background:var(--sel)}.month .d .n{font-weight:600}.month .d .b{display:flex;gap:2px;flex-wrap:wrap}.month .d .b i{width:6px;height:6px;border-radius:50%}.month .wd{text-align:center;font-size:11px;color:var(--faint);font-weight:600;padding:4px 0}.proj{display:grid;gap:8px;padding:14px 16px;border-top:1px solid var(--line-2);cursor:pointer}.proj:first-child{border-top:0}.proj:hover{background:var(--sel)}.proj .nm{font-weight:600;display:flex;gap:8px;align-items:center;flex-wrap:wrap}.proj .goal{color:var(--muted);font-size:13.5px}.proj .meter{height:6px}.bars{display:flex;align-items:flex-end;gap:6px;height:120px;padding-top:6px}.bars .w{flex:1;display:flex;flex-direction:column;align-items:stretch;justify-content:flex-end;gap:2px;min-width:0;height:100%}.bars .w i{display:block;border-radius:4px 4px 0 0;background:var(--acc)}.bars .w i.p{background:var(--line)}.axis{display:flex;justify-content:space-between;font-size:11px;color:var(--faint)}.donut{display:flex;gap:18px;align-items:center;flex-wrap:wrap}.donut svg{width:120px;height:120px;flex:none}.legend2{display:grid;gap:4px;font-size:13px}.legend2 div{display:flex;gap:8px;align-items:center}.legend2 b{margin-left:auto;font-variant-numeric:tabular-nums}.line{width:100%;height:120px;display:block;overflow:visible}.line path{fill:none;stroke-width:2.5;stroke-linejoin:round;stroke-linecap:round}.line .mood{stroke:var(--acc)}.line .energy{stroke:var(--aqua)}.line .rating{stroke:var(--warn)}.lnk{display:grid;grid-template-columns:minmax(140px,220px) 1fr auto;gap:4px 14px;padding:10px 16px;border-top:1px solid var(--line-2);align-items:start}.lnk:first-child{border-top:0}.lnk b{font-weight:600}.lnk .d{color:var(--muted);font-size:13px}.lnk a{word-break:break-all}.lnk .acts{opacity:0;display:flex;gap:4px}.lnk:hover .acts{opacity:1}.prop{display:grid;gap:8px;padding:14px 16px;border-top:1px solid var(--line-2)}.prop:first-child{border-top:0}.prop .why{color:var(--muted);font-size:13.5px}.f{display:grid;gap:6px}.f label{font-size:12.5px;font-weight:600;color:var(--muted)}.f2{display:grid;grid-template-columns:1fr 1fr;gap:12px}.days{display:flex;gap:4px}.days button{flex:1;height:34px;border-radius:8px;border:1px solid var(--line);background:var(--surface);font-size:12px;font-weight:600;cursor:pointer}.days button[aria-pressed=true]{background:var(--acc);color:var(--acc-ink);border-color:var(--acc)}.pl-tabbar,.pl-more{display:none}@media(max-width:860px){.pl-nav{display:none}.pl-page{padding:16px 16px 104px}.board,.f2,.lnk{grid-template-columns:1fr}.lnk .acts{opacity:1}.pl-more{display:grid;position:fixed;left:12px;right:12px;bottom:calc(76px + env(safe-area-inset-bottom));z-index:45;padding:8px;border-radius:16px;background:var(--surface);border:1px solid var(--line);box-shadow:var(--sh-2)}.pl-more a{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:10px;color:var(--ink);font-weight:600;text-decoration:none}.pl-more a svg{width:20px;height:20px;color:var(--acc)}.pl-more a[aria-current=page]{background:var(--sel)}.pl-tabbar{display:grid;grid-template-columns:repeat(5,1fr);position:fixed;left:0;right:0;bottom:0;z-index:30;padding:6px 6px max(6px,env(safe-area-inset-bottom));border-top:1px solid var(--line);background:color-mix(in srgb,var(--surface) 88%,transparent);backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px)}.pl-tabbar a{display:grid;justify-items:center;gap:2px;padding:6px 0;font-size:10.5px;font-weight:600;color:var(--muted);text-decoration:none;border-radius:10px;position:relative}.pl-tabbar a svg{width:22px;height:22px}.pl-tabbar a[aria-current=page]{color:var(--acc)}.pl-tabbar .count{top:0;right:14px}.sheet{width:100vw}}
