/* ── 查手机 · 日历 B 台历 / C 时间块 / D 列表 / E 24 小时 (js/apps/phone-peek-cal.js) - all classes pc-* ── */

/* shared */
.pc-wk{position:relative;display:grid;grid-template-columns:repeat(7,1fr);margin-top:12px}
.pc-wk button{position:relative;z-index:1;border:0;background:none;font:inherit;color:var(--pk-t2);display:flex;flex-direction:column;align-items:center;gap:4px;padding:8px 0;cursor:pointer;border-radius:14px}
.pc-wk button small{font-size:10.5px}.pc-wk button b{font-size:18px;font-weight:400}
.pc-wk button u{width:4px;height:4px;border-radius:50%;background:currentColor;opacity:.5}
.pc-wk button u.you{background:var(--pk-you);opacity:1}.pc-wk button u.none{opacity:0}
.pc-wk button.on{color:var(--pk-t1)}
.pc-th{position:absolute;top:0;bottom:0;left:0;width:calc(100% / 7);border-radius:14px;transform:translateX(calc(var(--i) * 100%))}
.pc-empty{text-align:center;padding:40px 0}
.pc-mhead{display:flex;align-items:center;justify-content:space-between;margin:6px 2px 10px}
.pc-mhead b{font-size:18px;font-weight:600}
.pc-mnav{border:0;background:none;font:inherit;font-size:18px;color:var(--pk-t2);cursor:pointer;width:34px;height:34px;border-radius:50%}
.pc-wd{text-align:center;font-size:11px;color:var(--pk-t3);padding:6px 0}
.pc-mini{border-radius:18px;overflow:hidden}
.pc-mini div{display:flex;align-items:center;gap:10px;padding:11px 14px;font-size:13.5px}
.pc-mini div+div{border-top:1px solid var(--pk-hair)}
.pc-mini span{width:42px;color:var(--pk-t2);font-size:12.5px}
.pc-mini i{width:7px;height:7px;border-radius:50%;background:color-mix(in srgb,var(--pk-t1) 45%,transparent);flex-shrink:0}
.pc-mini .you i{background:var(--pk-you)}.pc-mini .you b{color:var(--pk-you)}
.pc-mini .cx b{text-decoration:line-through;opacity:.5}.pc-mini .cx i{background:none;border:1px dashed var(--pk-t3)}
.pc-mini b{flex:1;font-weight:500;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pc-mini em{font-style:normal;font-size:11.5px;color:var(--pk-t3)}
.pc-allday{display:flex;gap:6px;flex-wrap:wrap;margin:12px 0 0 46px}.pc-allday.center{justify-content:center;margin-left:0}
.pc-allday span{font-size:12px;padding:4px 10px;border-radius:8px;background:color-mix(in srgb,var(--pk-you) 18%,transparent);color:var(--pk-you)}

/* B 台历: paper in the day, black paper at night */
.pc-app{--pp:#fbfaf7;--pi:#25292f;--pi2:rgba(37,41,47,.55);--pi3:rgba(37,41,47,.38);--pline:rgba(70,110,170,.16);--pgrid:rgba(37,41,47,.08);--pyou:var(--pk-you-l)}
#peek-app-root[data-mode="dark"] .pc-app{--pp:#151619;--pi:#eef0f3;--pi2:rgba(238,240,243,.5);--pi3:rgba(238,240,243,.32);--pline:rgba(255,255,255,.08);--pgrid:rgba(255,255,255,.07);--pyou:var(--pk-you-d)}
.pc-pad{position:relative;margin-top:6px;padding-top:14px}
.pc-rings{position:absolute;left:24px;right:24px;top:0;height:22px;display:flex;justify-content:space-between;z-index:3}
.pc-rings i{width:8px;height:22px;border-radius:5px;background:linear-gradient(90deg,#8d939c,#e6e8eb,#8d939c);box-shadow:0 2px 3px rgba(0,0,0,.25)}
.pc-stack{position:relative}
.pc-page{position:relative;border-radius:6px 6px 14px 14px;background:var(--pp);color:var(--pi);box-shadow:0 14px 30px rgba(10,20,40,.18);padding:26px 22px 18px;overflow:hidden}
.pc-page::before{content:'';position:absolute;left:0;right:0;top:0;height:10px;background:repeating-linear-gradient(90deg,transparent 0 6px,var(--pgrid) 6px 7px)}
.pc-under{position:absolute;left:6px;right:6px;top:6px;bottom:-6px;border-radius:6px 6px 14px 14px;background:color-mix(in srgb,var(--pp) 94%,#000);box-shadow:0 8px 18px rgba(10,20,40,.12)}
.pc-under.u2{left:12px;right:12px;bottom:-12px;background:color-mix(in srgb,var(--pp) 88%,#000)}
#peek-app-root[data-mode="dark"] .pc-under{background:#202125}#peek-app-root[data-mode="dark"] .pc-under.u2{background:#2a2b30}
.pc-mo{display:flex;justify-content:space-between;align-items:baseline;font-size:12px;letter-spacing:.2em;color:var(--pi2)}
.pc-mo b{color:var(--pyou);font-weight:700;letter-spacing:.25em}
.pc-big{display:flex;align-items:flex-end;gap:14px;margin:6px 0 4px}
.pc-big .d{font-size:96px;line-height:.85}
.pc-big .w{padding-bottom:10px}.pc-big .w b{display:block;font-size:18px}.pc-big .w span{font-size:12px;color:var(--pi2)}
.pc-status{font-size:12.5px;color:var(--pi2);display:flex;align-items:center;gap:6px}
.pc-lines{margin-top:12px;border-top:1.5px solid color-mix(in srgb,var(--pi) 75%,transparent);background:repeating-linear-gradient(180deg,transparent 0 33px,var(--pline) 33px 34px);position:relative}
.pc-lines::before{content:'';position:absolute;left:52px;top:0;bottom:0;width:1px;background:color-mix(in srgb,var(--pyou) 45%,transparent)}
.pc-ln{display:flex;align-items:center;height:34px;font-size:14px;gap:10px}
.pc-ln .t{width:44px;font-size:12px;color:var(--pi2)}
.pc-ln .m{width:16px;text-align:center;font-size:12px;color:var(--pi2)}
.pc-ln b{flex:1;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pc-ln b.none{color:var(--pi3);font-weight:400}
.pc-ln small{font-size:11px;color:var(--pi3)}
.pc-ln.done b{color:var(--pi2)}.pc-ln.cancelled b{text-decoration:line-through;color:var(--pi3)}
.pc-ln.you b,.pc-ln.you .m{color:var(--pyou)}
.pc-ln.now{position:relative}.pc-ln.now::after{content:'';position:absolute;left:52px;right:0;bottom:-1px;height:2px;background:color-mix(in srgb,var(--pk-acc) 60%,transparent)}
.pc-pnav{display:flex;justify-content:space-between;align-items:center;margin-top:16px;font-size:12px;color:var(--pk-t2)}
.pc-pnav button{border:1px solid var(--pk-edge);background:var(--pk-gl2);color:var(--pk-t1);font:inherit;font-size:12.5px;padding:7px 14px;border-radius:999px;cursor:pointer}
.pc-wall{border-radius:6px;background:var(--pp);color:var(--pi);box-shadow:0 14px 30px rgba(10,20,40,.18);padding:16px 12px 12px;margin-top:6px}
.pc-wall .hd{display:flex;align-items:flex-end;justify-content:space-between;padding:0 6px 10px;border-bottom:1.5px solid color-mix(in srgb,var(--pi) 75%,transparent)}
.pc-wall .hd b{font-size:46px;line-height:.9;font-weight:400}
.pc-wall .hd span{font-size:11px;letter-spacing:.3em;color:var(--pi2);text-align:right}
.pc-wall .pc-mnav{color:var(--pi2)}
.pc-g{display:grid;grid-template-columns:repeat(7,1fr)}
.pc-g .pc-wd{font-size:10px;color:var(--pi2);border-bottom:1px solid var(--pgrid)}
.pc-g button,.pc-g .pc-blank{position:relative;border:0;border-right:1px solid var(--pgrid);border-bottom:1px solid var(--pgrid);background:none;font:inherit;color:inherit;min-height:58px;padding:4px 3px;text-align:left;display:flex;flex-direction:column;gap:2px;overflow:hidden;min-width:0}
.pc-g button{cursor:pointer}
.pc-g>*:nth-child(7n+7){border-right:0}
.pc-g button>span{font-size:12px}
.pc-g button small{display:block;font-size:9.5px;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:color-mix(in srgb,var(--pi) 72%,transparent)}
.pc-g button small.you{color:var(--pyou)}.pc-g button small.cx{text-decoration:line-through;opacity:.5}.pc-g button small.more{color:var(--pi3)}
.pc-g button.fut>span{color:var(--pi3)}
.pc-g button.today>span::after{content:'';position:absolute;left:0;top:1px;width:24px;height:20px;border:1.5px solid var(--pyou);border-radius:50% 45% 52% 48%;transform:rotate(-8deg);opacity:.8}
.pc-g button.sel{background:color-mix(in srgb,var(--pi) 7%,transparent)}
.pc-slip{margin-top:12px;border-radius:4px;background:var(--pp);color:var(--pi);padding:10px 14px;box-shadow:0 8px 18px rgba(10,20,40,.12);transform:rotate(-.6deg)}
.pc-slip h4{margin:0 0 4px;font-size:12px;letter-spacing:.1em;color:var(--pi2);font-weight:600}
.pc-slip .pc-ln{height:30px}

/* C 时间块 */
.pc-cwrap{max-height:calc(100vh - 290px);min-height:300px;overflow-y:auto;scrollbar-width:none;margin-top:12px;padding-top:8px;
  -webkit-mask-image:linear-gradient(180deg,transparent 0,#000 18px,#000 calc(100% - 18px),transparent);mask-image:linear-gradient(180deg,transparent 0,#000 18px,#000 calc(100% - 18px),transparent)}
.pc-cwrap::-webkit-scrollbar{display:none}
.pc-cgrid{position:relative;margin-top:4px}
.pc-hr{position:absolute;left:0;right:0;height:46px;border-top:1px solid var(--pk-hair);font-size:10.5px;color:var(--pk-t3)}
.pc-hr span{position:absolute;left:0;top:-7px;width:38px;text-align:right}
.pc-bk{position:absolute;left:46px;right:0;border-radius:12px;padding:6px 10px;box-sizing:border-box;overflow:hidden;font-size:12.5px;border:1px solid var(--pk-edge);background:var(--pk-gl2)}
.pc-bk b{display:block;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pc-bk small{color:var(--pk-t2);font-size:11px}
.pc-bk.lane1{left:calc(46px + (100% - 46px) / 2 + 3px)}.pc-bk.half{right:calc((100% - 46px) / 2 + 3px)}
.pc-bk.done{opacity:.62}
.pc-bk.planned{background:none;border:1px dashed color-mix(in srgb,var(--pk-t1) 28%,transparent)}
.pc-bk.you{background:color-mix(in srgb,var(--pk-you) 16%,transparent);border-color:color-mix(in srgb,var(--pk-you) 40%,transparent)}.pc-bk.you b{color:var(--pk-you)}
.pc-bk.cancelled b{text-decoration:line-through;opacity:.5}
.pc-bk.ongoing{background:color-mix(in srgb,var(--pk-acc) 16%,var(--pk-gl2));border-color:color-mix(in srgb,var(--pk-acc) 40%,transparent)}
.pc-bk.ongoing::after{content:'';position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--pk-acc)}
.pc-now{position:absolute;left:38px;right:0;height:0;border-top:1.5px solid var(--pk-acc);z-index:3}
.pc-now::before{content:'';position:absolute;left:-4px;top:-5px;width:9px;height:9px;border-radius:50%;background:var(--pk-acc)}
.pc-now span{position:absolute;left:-40px;top:-8px;font-size:10.5px;color:var(--pk-acc);font-weight:700;width:34px;text-align:right}
.pc-cempty{position:absolute;left:46px;right:0;top:120px}
.pc-cm,.pc-dm,.pc-em{display:grid;grid-template-columns:repeat(7,1fr);border-radius:20px;padding:6px 6px 8px;gap:2px}
.pc-cm button{border:0;background:none;font:inherit;color:var(--pk-t1);min-height:62px;padding:4px 2px;cursor:pointer;border-radius:10px;display:flex;flex-direction:column;gap:2px;align-items:stretch}
.pc-cm button>span{font-size:12px;text-align:center;margin-bottom:2px}
.pc-cm button i{display:block;height:5px;border-radius:3px;background:color-mix(in srgb,var(--pk-t1) 30%,transparent)}
.pc-cm button i.you{background:var(--pk-you)}.pc-cm button i.cx{background:none;border:1px dashed var(--pk-t3);height:3px}
.pc-cm button.today>span,.pc-dm button.today span,.pc-em button.today span{font-weight:700;color:var(--pk-acc)}
.pc-cm button.sel,.pc-dm button.sel{background:color-mix(in srgb,var(--pk-t1) 8%,transparent)}
.pc-cm button.fut,.pc-dm button.fut{opacity:.4}

/* D 列表 */
.pc-strip{display:flex;align-items:flex-end;gap:3px;height:34px;margin:10px 2px 0;padding-bottom:4px;border-bottom:1px solid var(--pk-hair)}
.pc-strip button{flex:1;border:0;padding:0;background:color-mix(in srgb,var(--pk-t1) 22%,transparent);border-radius:2px;cursor:pointer;min-height:3px}
.pc-strip button.you{background:var(--pk-you)}.pc-strip button.today{background:var(--pk-acc)}.pc-strip button.fut{background:color-mix(in srgb,var(--pk-t1) 8%,transparent)}
.pc-strip button.sel{outline:2px solid var(--pk-t1);outline-offset:1px}
.pc-sum{display:flex;justify-content:space-between;font-size:11.5px;color:var(--pk-t3);margin:6px 4px 0}
.pc-wkh{font-size:11px;letter-spacing:.12em;color:var(--pk-t3);padding:16px 4px 2px}
.pc-dday{display:grid;grid-template-columns:52px 1fr;gap:12px;padding:14px 4px;border-bottom:1px solid var(--pk-hair)}
.pc-dday .n{text-align:center}.pc-dday .n b{display:block;font-size:28px;font-weight:300;line-height:1}.pc-dday .n span{font-size:11px;color:var(--pk-t2)}
.pc-dday.today .n b{color:var(--pk-acc)}.pc-dday.today .n span{color:var(--pk-acc);font-weight:700}
.pc-dday.flash{animation:pcFlash 1.4s ease}
@keyframes pcFlash{30%{background:color-mix(in srgb,var(--pk-acc) 12%,transparent)}}
.pc-it{display:flex;align-items:baseline;gap:10px;padding:3px 0;font-size:14px}
.pc-it .t{width:40px;flex-shrink:0;font-size:12px;color:var(--pk-t2)}
.pc-it b{font-weight:500;flex:1;min-width:0}.pc-it small{font-size:11.5px;color:var(--pk-t3)}
.pc-it.you b,.pc-it.you .t{color:var(--pk-you)}.pc-it.cancelled b{text-decoration:line-through;opacity:.5}.pc-it.done b{color:var(--pk-t2)}
.pc-it.nowline{gap:8px;color:var(--pk-acc);font-size:11.5px;font-weight:700}.pc-it.nowline::after{content:'';flex:1;height:1px;background:var(--pk-acc);opacity:.6}
.pc-none{font-size:12.5px;color:var(--pk-t3);padding-top:6px}
.pc-dm button{border:0;background:none;font:inherit;color:var(--pk-t1);height:44px;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;border-radius:12px}
.pc-dm button span{font-size:14px}
.pc-dm button i{display:block;height:3px;border-radius:2px;background:color-mix(in srgb,var(--pk-t1) 40%,transparent)}
.pc-dm button i.you{background:var(--pk-you)}

/* E 24 小时 */
.pc-dial{position:relative;width:min(300px,82vw);aspect-ratio:1;margin:16px auto 0}
.pc-dial svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.pc-dial .tick{stroke:color-mix(in srgb,var(--pk-t1) 25%,transparent);stroke-width:1}
.pc-dial .tick.big{stroke:color-mix(in srgb,var(--pk-t1) 50%,transparent);stroke-width:1.5}
.pc-dial .hl{font-size:11px;fill:var(--pk-t2);text-anchor:middle;dominant-baseline:middle}
.pc-dial .track{fill:none;stroke:color-mix(in srgb,var(--pk-t1) 7%,transparent);stroke-width:24}
.pc-dial .arc{fill:none;stroke-width:24;cursor:pointer;transition:stroke-width .2s}
.pc-dial .arc.done{stroke:color-mix(in srgb,var(--pk-t1) 24%,transparent)}
.pc-dial .arc.planned{stroke:color-mix(in srgb,var(--pk-t1) 26%,transparent);stroke-dasharray:3 3}
.pc-dial .arc.ongoing{stroke:var(--pk-acc)}
.pc-dial .arc.you{stroke:var(--pk-you)}
.pc-dial .arc.on{stroke-width:30}
.pc-dial .hand{stroke:var(--pk-acc);stroke-width:2;stroke-linecap:round}
.pc-dial .hub{fill:var(--pk-acc)}
.pc-ctr{position:absolute;left:50%;top:50%;width:50%;transform:translate(-50%,-50%);text-align:center}
.pc-ctr small{display:block;font-size:11.5px;color:var(--pk-t2)}
.pc-ctr b{display:block;font-size:19px;margin:4px 0;line-height:1.2}
.pc-ctr span{font-size:12px;color:var(--pk-t2)}
.pc-ctr.you b{color:var(--pk-you)}
.pc-elist{margin-top:14px}
.pc-em{padding:8px 6px;row-gap:4px}
.pc-em button{position:relative;border:0;background:none;font:inherit;color:var(--pk-t1);height:46px;cursor:pointer;display:grid;place-items:center;padding:0}
.pc-em svg{position:absolute;width:40px;height:40px;transform:rotate(-90deg)}
.pc-em svg circle{fill:none;stroke-width:3.5}
.pc-em .bg{stroke:color-mix(in srgb,var(--pk-t1) 8%,transparent)}
.pc-em .a{stroke:color-mix(in srgb,var(--pk-t1) 40%,transparent)}.pc-em .a.you{stroke:var(--pk-you)}
.pc-em button span{position:relative;font-size:12px}
.pc-em button.sel{background:color-mix(in srgb,var(--pk-t1) 7%,transparent);border-radius:50%}
.pc-em button.fut{opacity:.35}
