:root[data-theme=light]{--text-1:#111114;--text-2:#3c3c43;--text-3:#68686f;--on-accent:#ffffff;--danger:#d92d20;--bg-1:#ffffff;--bg-2:#f6f6f8;--bg-3:#ececf1;--line:#ececf1;--accent:#2f6bff}:root[data-theme=dark]{--text-1:#f4f4f6;--text-2:#d1d1d8;--text-3:#acacb8;--on-accent:#ffffff;--danger:#f76e65;--bg-1:#17171c;--bg-2:#24242c;--bg-3:#35353f;--line:#35353f;--accent:#447dff}.devok-reminder-frame{position:fixed;top:0;right:0;bottom:0;left:0;display:block;width:100%;height:100dvh;border:0;background:var(--bg-1)}.dk-shell{--dk-text: var(--text-1, #1f2430);--dk-text-weak: var(--text-3, #6b7280);--dk-bg: var(--bg-1, #ffffff);--dk-bg-soft: var(--bg-2, #f6f7f9);--dk-line: var(--bg-3, #e6e8ec);--dk-accent: var(--accent, #2f6bff);position:fixed;top:0;right:0;bottom:0;left:0;display:grid;grid-template-columns:240px 1fr;grid-template-rows:1fr;color:var(--dk-text);background:var(--dk-bg)}.dk-ico{width:20px;height:20px;flex:none}.dk-side{grid-column:1;display:flex;flex-direction:column;gap:4px;padding:18px 12px;background:var(--dk-bg-soft);border-right:1px solid var(--dk-line);overflow-y:auto}.dk-brand{padding:0 10px 14px;display:flex;flex-direction:column;gap:2px}.dk-brand strong{font-size:17px}.dk-brand small{color:var(--dk-text-weak);font-size:12px}.dk-nav{display:flex;flex-direction:column;gap:2px}.dk-nav-item{display:flex;align-items:center;gap:10px;width:100%;padding:10px 12px;border:0;border-radius:10px;cursor:pointer;background:transparent;color:var(--dk-text-weak);font:inherit;font-size:15px;text-align:left}.dk-nav-item:hover{background:var(--dk-bg);color:var(--dk-text)}.dk-nav-item.active{background:var(--dk-bg);color:var(--dk-accent);font-weight:600}.dk-main{grid-column:2;position:relative;overflow:hidden}.dk-page{position:absolute;top:0;right:0;bottom:0;left:0;overflow-y:auto;-webkit-overflow-scrolling:touch}.dk-page[hidden]{display:none!important}.dk-top,.dk-tabbar,.dk-mask{display:none}.dk-route-notice{position:relative;z-index:6;padding:16px;display:flex;align-items:center;gap:12px;color:var(--dk-text);background:var(--dk-bg-soft)}.dk-route-notice span{flex:1;min-width:0}.dk-route-actions{position:absolute;left:12px;top:4px;z-index:5;display:flex;gap:8px;background:var(--dk-bg)}.dk-route-actions button{border:1px solid var(--dk-line);border-radius:8px;background:var(--dk-bg);color:var(--dk-text);padding:4px 12px}.dk-shell:not([data-page=""]) .dk-route-actions~.dk-page{padding-top:52px;box-sizing:border-box}@media (max-width: 767px){.dk-shell{grid-template-columns:1fr;grid-template-rows:48px 1fr 56px}.dk-main{grid-column:1;grid-row:2}.dk-top{grid-row:1;display:flex;align-items:center;gap:10px;padding:0 12px;background:var(--dk-bg);border-bottom:1px solid var(--dk-line)}.dk-top-btn{display:flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;border:0;background:transparent;color:var(--dk-text);padding:6px;cursor:pointer}.dk-top-title{font-size:16px;font-weight:600}.dk-tabbar{grid-row:3;display:flex;background:var(--dk-bg);border-top:1px solid var(--dk-line);padding-bottom:env(safe-area-inset-bottom)}.dk-tab{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;border:0;background:transparent;color:var(--dk-text-weak);font:inherit;font-size:11px;cursor:pointer;min-height:44px}.dk-tab.active{color:var(--dk-accent)}.dk-side{position:fixed;z-index:30;top:0;bottom:0;left:0;width:76vw;max-width:300px;transform:translate(-100%);transition:transform .22s ease}.dk-side.open{transform:none}.dk-mask{display:block;position:fixed;top:0;right:0;bottom:0;left:0;z-index:29;background:#00000059}}.dk-mb{padding:20px 18px 40px;max-width:680px;margin:0 auto;display:flex;flex-direction:column;gap:10px}.dk-mb-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.dk-mb-head h1{font-size:20px;margin:0}.dk-mb-badge{font-size:13px;color:var(--dk-text-weak);border:1px solid var(--dk-line);border-radius:999px;padding:3px 10px}.dk-mb-badge.on{color:var(--dk-accent);border-color:currentColor}.dk-mb-line{color:var(--dk-text-weak);font-size:14px;margin:0}.dk-mb-policy:empty{display:none}.dk-mb-policy{background:var(--dk-bg-soft);border-radius:12px;padding:12px 14px;font-size:14px;line-height:1.7}.dk-mb-note{color:var(--dk-text-weak);font-size:13px;margin:0}.dk-mb-err{color:#c0392b;font-size:14px;margin:0}.dk-mb-acts{display:flex;gap:10px;flex-wrap:wrap;margin-top:6px}.dk-btn{min-height:44px;padding:0 18px;border-radius:10px;border:1px solid var(--dk-line);background:var(--dk-bg);color:var(--dk-text);font:inherit;font-size:15px;cursor:pointer}.dk-btn.primary{background:var(--dk-accent);border-color:var(--dk-accent);color:#fff}.dk-btn:disabled{opacity:.55;cursor:default}.dk-fatal{padding:24px;font-size:15px;line-height:1.8;color:#7a1c14;background:#fdecea}.dk-fatal h1{font-size:18px;margin:0 0 8px}.dk-fatal code{background:#00000012;padding:1px 5px;border-radius:4px}.dk-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;display:flex;align-items:center;justify-content:center;background:#00000073;padding:16px}.dk-overlay[hidden]{display:none!important}.dk-overlay-card{display:flex;flex-direction:column;width:min(92vw,560px);max-height:85vh;background:var(--dk-surface, #fff);border-radius:16px;overflow:hidden;box-shadow:0 18px 50px #00000040}.dk-overlay-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 8px 10px 18px;border-bottom:1px solid var(--dk-line);flex:none}.dk-overlay-head strong{font-size:17px}.dk-overlay-body{overflow-y:auto;padding:16px 18px 20px}.dk-side-foot{margin-top:auto;padding:12px 10px 0;font-size:13px;color:var(--dk-text-weak);line-height:1.6}.dk-shell button,.dk-shell a[role=button]{min-height:44px;white-space:nowrap}.dk-shell button.dk-tab{min-height:48px}.dk-quota{display:flex;align-items:center;gap:4px;flex-wrap:wrap;font-size:13px;color:var(--dk-text-weak, #666);margin:8px 0}.dk-quota.blocked{color:#8a5a00}.dk-quota-act{display:inline-flex;align-items:center;min-height:44px;padding:0 8px;border:0;background:transparent;color:var(--dk-primary, #2f6bff);font:inherit;font-size:13px;text-decoration:underline;cursor:pointer}.dk-mb-acct{margin:20px 0 8px;padding:16px;border:1px solid var(--dk-line, #e5e8ee);border-radius:12px}.dk-mb-acct h2{margin:0 0 10px;font-size:15px}.dk-mb-acct-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.dk-mb-acct-id{flex:1;min-width:0;word-break:break-all;font-size:14px}.dk-mb-acct-tip{margin:8px 0 12px;font-size:12.5px;opacity:.7}.dk-preferences{position:fixed;top:2px;right:12px;z-index:10;display:flex;gap:8px}.dk-preferences select,.dk-preferences button{min-height:44px;max-width:110px;border:1px solid var(--dk-line);border-radius:8px;background:var(--dk-bg);color:var(--dk-text);padding:4px 8px}.dk-top-title{padding-right:180px}@media (min-width:768px){.dk-page{padding-top:48px}}:root[data-theme=light]{--text-1: #1b2320;--text-2: #43514c;--text-3: #6e7c77;--bg-1: #fbfaf6;--bg-2: #f3f1e9;--bg-3: #e6e4da;--line: #e6e4da;--accent: #2f5d50;--accent-soft: #dcebe3;--on-accent: #ffffff;--danger: #c0392b;--chart-bar: #2f5d50;--shadow: 0 1px 2px rgba(27, 35, 32, .05), 0 8px 24px rgba(27, 35, 32, .06);--dk-surface: var(--bg-1)}:root[data-theme=dark]{--text-1: #ecf2ef;--text-2: #c2cdc8;--text-3: #93a19b;--bg-1: #151a18;--bg-2: #1e2523;--bg-3: #2c3532;--line: #2c3532;--accent: #7fbf9f;--accent-soft: #24352e;--on-accent: #0e1512;--danger: #f08a80;--chart-bar: #8fd3b8;--shadow: 0 1px 2px rgba(0, 0, 0, .3), 0 8px 24px rgba(0, 0, 0, .35);--dk-surface: var(--bg-1)}.pp-page{display:flex;flex-direction:column;gap:16px;padding:8px 16px 32px;max-width:1120px;margin:0 auto;width:100%}@media (min-width: 768px){.pp-page{padding:8px 28px 40px;gap:20px}}.pp-page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap}.pp-page-head-text{min-width:0}.pp-page-head h1{font-size:24px;line-height:1.3;letter-spacing:-.01em;color:var(--text-1);overflow-wrap:anywhere}.pp-page-head p{margin-top:4px;font-size:14px;color:var(--text-3);line-height:1.5;overflow-wrap:anywhere}.pp-page-head-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.pp-section-title{display:flex;align-items:center;gap:6px;font-size:15px;font-weight:600;color:var(--text-1);margin-bottom:10px}.pp-muted{color:var(--text-3);font-size:13px;line-height:1.6}.pp-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:44px;padding:0 16px;border-radius:10px;border:1px solid var(--line);background:var(--bg-1);color:var(--text-1);font:inherit;font-size:15px;cursor:pointer;white-space:nowrap;transition:background-color .18s ease-out,border-color .18s ease-out}.pp-btn:hover:not(:disabled){background:var(--bg-2)}.pp-btn:disabled{opacity:.5;cursor:not-allowed}.pp-btn.primary{background:var(--accent);border-color:var(--accent);color:var(--on-accent);font-weight:600}.pp-btn.primary:hover:not(:disabled){filter:brightness(1.06);background:var(--accent)}.pp-btn.danger{color:var(--danger);border-color:var(--danger);background:var(--bg-1)}.pp-btn.danger:hover:not(:disabled){background:var(--bg-2)}.pp-btn.small{min-height:36px;padding:0 12px;font-size:13px}.pp-btn.block{width:100%}.pp-icon-btn{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;min-height:40px;padding:0;border:1px solid transparent;border-radius:10px;background:transparent;color:var(--text-2);cursor:pointer}.pp-icon-btn:hover{background:var(--bg-2)}.pp-card{background:var(--bg-1);border:1px solid var(--line);border-radius:14px;padding:16px;box-shadow:var(--shadow)}.pp-card.plain{box-shadow:none;background:var(--bg-2);border-color:transparent}.pp-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}@media (min-width: 640px){.pp-stats{grid-template-columns:repeat(4,minmax(0,1fr))}}.pp-stat{background:var(--bg-1);border:1px solid var(--line);border-radius:14px;padding:14px 16px;display:flex;flex-direction:column;gap:6px;min-width:0}.pp-stat-top{display:flex;align-items:center;gap:6px;color:var(--text-3);font-size:13px}.pp-stat-num{font-size:28px;font-weight:700;color:var(--text-1);line-height:1.1}.pp-stat.accent{background:var(--accent-soft);border-color:transparent}.pp-stat.accent .pp-stat-num,.pp-stat.accent .pp-stat-top{color:var(--text-1)}.pp-split{display:flex;flex-direction:column;gap:16px}@media (min-width: 960px){.pp-split{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:20px;align-items:start}}.pp-tl{display:flex;flex-direction:column}.pp-tl-row{display:flex;align-items:flex-start;gap:12px;padding:12px 0;border-bottom:1px solid var(--line);min-width:0}.pp-tl-row:last-child{border-bottom:0;padding-bottom:0}.pp-tl-row:first-child{padding-top:0}.pp-tl-time{flex:none;width:92px;font-variant-numeric:tabular-nums;font-size:13px;color:var(--text-2);line-height:1.5}.pp-tl-time strong{display:block;font-size:15px;color:var(--text-1)}.pp-tl-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}.pp-tl-title{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:15px;font-weight:600;color:var(--text-1)}.pp-tl-title .pp-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.pp-tl-sub{font-size:13px;color:var(--text-3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pp-tl-acts{display:flex;gap:6px;flex-wrap:wrap;margin-top:6px}.pp-todo{display:flex;flex-direction:column;gap:10px}.pp-todo-item{display:flex;align-items:flex-start;gap:10px;padding:12px;border:1px solid var(--line);border-radius:12px;background:var(--bg-1);min-width:0}.pp-todo-item.warn{background:var(--accent-soft);border-color:transparent}.pp-todo-ico{flex:none;color:var(--accent);margin-top:1px}.pp-todo-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:6px}.pp-todo-text{font-size:14px;color:var(--text-1);line-height:1.5;overflow-wrap:anywhere}.pp-todo-item .pp-btn{align-self:flex-start}.pp-chip{display:inline-flex;align-items:center;gap:4px;padding:2px 9px;border-radius:999px;font-size:12px;line-height:1.7;white-space:nowrap;border:1px solid var(--line);color:var(--text-2);background:var(--bg-2)}.pp-chip-booked{color:var(--text-2)}.pp-chip-working{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.pp-chip-done{background:var(--accent-soft);border-color:transparent;color:var(--text-1)}.pp-chip-cancelled{color:var(--text-3);text-decoration:line-through}.pp-toolbar{display:flex;flex-direction:column;gap:10px}.pp-toolbar-row{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.pp-search{position:relative;flex:1 1 220px;min-width:0}.pp-search .pp-ico{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--text-3)}.pp-search input{padding-left:40px}.pp-seg{display:inline-flex;border:1px solid var(--line);border-radius:10px;overflow:hidden;background:var(--bg-1)}.pp-seg button{border:0;background:transparent;color:var(--text-2);font:inherit;font-size:14px;padding:0 14px;min-height:44px;cursor:pointer;white-space:nowrap}.pp-seg button+button{border-left:1px solid var(--line)}.pp-seg button.on{background:var(--accent);color:var(--on-accent);font-weight:600}.pp-datebar{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.pp-datebar .pp-date-label{font-size:16px;font-weight:600;color:var(--text-1);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pp-list{display:flex;flex-direction:column;gap:10px}.pp-row{display:flex;align-items:flex-start;gap:12px;padding:14px 16px;background:var(--bg-1);border:1px solid var(--line);border-radius:14px;min-width:0;cursor:pointer;text-align:left;width:100%;font:inherit}.pp-row:hover{background:var(--bg-2)}.pp-avatar{flex:none;width:42px;height:42px;border-radius:12px;background:var(--accent-soft);color:var(--text-1);display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:600}.pp-row-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}.pp-row-title{display:flex;align-items:center;gap:8px;font-size:15px;font-weight:600;color:var(--text-1);min-width:0}.pp-row-title .pp-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.pp-row-sub{font-size:13px;color:var(--text-3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pp-row-side{flex:none;display:flex;align-items:center;gap:6px;color:var(--text-3)}.pp-row-acts{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}.pp-form{display:flex;flex-direction:column;gap:14px}.pp-field{display:flex;flex-direction:column;gap:6px;min-width:0}.pp-field-label{display:flex;align-items:center;gap:6px;font-size:14px;font-weight:600;color:var(--text-1)}.pp-field-req,.pp-field-opt{font-style:normal;font-weight:400;font-size:12px;color:var(--text-3)}.pp-field-hint{font-size:12.5px;color:var(--text-3);line-height:1.5}.pp-field-err{font-size:13px;color:var(--danger);line-height:1.5}.pp-input,.pp-select,.pp-textarea{width:100%;min-height:44px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:var(--bg-1);color:var(--text-1);font:inherit;font-size:16px;line-height:1.4}.pp-textarea{min-height:88px;resize:vertical}.pp-input:focus,.pp-select:focus,.pp-textarea:focus{outline:2px solid var(--accent);outline-offset:-1px;border-color:var(--accent)}.pp-input.err,.pp-select.err,.pp-textarea.err{border-color:var(--danger)}.pp-form-foot{display:flex;gap:8px;flex-wrap:wrap;align-items:center;padding-top:4px}.pp-picks{display:flex;flex-direction:column;gap:8px}.pp-picks.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}.pp-pick{display:flex;align-items:center;gap:8px;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:var(--bg-1);color:var(--text-1);font:inherit;font-size:15px;cursor:pointer;text-align:left;min-height:44px;min-width:0}.pp-pick .pp-pick-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}.pp-pick .pp-pick-sub{font-size:12.5px;color:var(--text-3);white-space:nowrap}.pp-pick.on{border-color:var(--accent);background:var(--accent-soft);font-weight:600}.pp-pick:disabled{opacity:.5;cursor:not-allowed}.pp-empty{display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center;padding:36px 20px;border:1px dashed var(--line);border-radius:16px;background:var(--bg-1)}.pp-empty-ico{width:52px;height:52px;border-radius:16px;background:var(--accent-soft);color:var(--accent);display:flex;align-items:center;justify-content:center}.pp-empty h3{font-size:16px;color:var(--text-1)}.pp-empty p{font-size:14px;color:var(--text-3);line-height:1.6;max-width:420px}.pp-loading{display:flex;align-items:center;gap:10px;color:var(--text-3);font-size:14px;padding:24px 0}.pp-spinner{width:16px;height:16px;flex:none;border:2px solid var(--bg-3);border-top-color:var(--accent);border-radius:50%;animation:pp-spin .8s linear infinite}@keyframes pp-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion: reduce){.pp-spinner{animation-duration:2.4s}}.pp-notice{display:flex;align-items:flex-start;gap:10px;padding:12px 14px;border-radius:12px;border:1px solid var(--line);background:var(--bg-2);color:var(--text-1);font-size:13.5px;line-height:1.6}.pp-notice .pp-ico{flex:none;margin-top:2px;color:var(--text-2)}.pp-notice-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px;overflow-wrap:anywhere}.pp-notice-body span{color:var(--text-3)}.pp-notice.error{border-color:var(--danger)}.pp-notice.error .pp-ico,.pp-notice.error strong{color:var(--danger)}.pp-notice.warn{background:var(--accent-soft);border-color:transparent}.pp-notice.info{background:var(--bg-2)}.pp-banner{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:10px 14px;border-radius:12px;background:var(--accent-soft);color:var(--text-1);font-size:13.5px;line-height:1.5}.pp-banner .pp-banner-text{flex:1;min-width:160px}.pp-quota{display:inline-flex;align-items:center;gap:4px;flex-wrap:wrap;font-size:13px;color:var(--text-3)}.pp-quota.blocked{color:var(--text-1)}.pp-quota-text{overflow-wrap:anywhere}.pp-quota-act{display:inline-flex;align-items:center;min-height:44px;padding:0 8px;border:0;background:transparent;color:var(--accent);font:inherit;font-size:13px;text-decoration:underline;cursor:pointer;white-space:nowrap}.pp-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:90;display:flex;align-items:center;justify-content:center;padding:16px;background:#00000073}.pp-modal-card{display:flex;flex-direction:column;width:min(92vw,440px);max-height:85vh;background:var(--bg-1);border-radius:16px;overflow:hidden;box-shadow:var(--shadow)}.pp-modal-head{flex:none;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 10px 12px 18px;border-bottom:1px solid var(--line)}.pp-modal-head strong{font-size:16px;color:var(--text-1);min-width:0}.pp-modal-body{overflow-y:auto;padding:16px 18px}.pp-modal-body p{font-size:14.5px;line-height:1.65;color:var(--text-2);overflow-wrap:anywhere}.pp-modal-foot{flex:none;display:flex;gap:8px;justify-content:flex-end;padding:12px 18px;border-top:1px solid var(--line);background:var(--bg-1);padding-bottom:calc(12px + env(safe-area-inset-bottom))}.pp-chart{display:flex;flex-direction:column;gap:10px}.pp-chart-svg{width:100%;height:auto;display:block;overflow:visible}.pp-chart-bar{fill:var(--chart-bar)}.pp-chart-bar.dim{opacity:.35}.pp-chart-axis{stroke:var(--line);stroke-width:1}.pp-chart-label{fill:var(--text-3);font-size:10px}.pp-chart-tip{font-size:13px;color:var(--text-2);min-height:20px;font-variant-numeric:tabular-nums}.pp-breakdown{display:flex;flex-direction:column;gap:12px}.pp-bd-row{display:flex;flex-direction:column;gap:5px;min-width:0}.pp-bd-top{display:flex;align-items:baseline;justify-content:space-between;gap:10px;font-size:14px}.pp-bd-label{color:var(--text-1);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pp-bd-value{color:var(--text-2);font-variant-numeric:tabular-nums;white-space:nowrap}.pp-bd-track{height:8px;border-radius:4px;background:var(--bg-3);overflow:hidden}.pp-bd-fill{height:100%;border-radius:4px;background:var(--chart-bar)}.pp-dl{display:grid;grid-template-columns:84px 1fr;gap:8px 12px;font-size:14px}.pp-dl dt{color:var(--text-3)}.pp-dl dd{color:var(--text-1);overflow-wrap:anywhere;min-width:0}.pp-hist{display:flex;flex-direction:column;gap:0}.pp-hist-row{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid var(--line);font-size:14px;min-width:0}.pp-hist-row:last-child{border-bottom:0}.pp-hist-left{min-width:0;display:flex;flex-direction:column;gap:2px}.pp-hist-left .pp-name{color:var(--text-1);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pp-hist-left .pp-muted{font-size:12.5px}.pp-hist-right{flex:none;color:var(--text-2);font-variant-numeric:tabular-nums}.pp-pre{margin:0;padding:14px;border-radius:12px;background:var(--bg-2);border:1px solid var(--line);color:var(--text-1);font-size:14px;line-height:1.75;white-space:pre-wrap;overflow-wrap:anywhere;max-height:40vh;overflow-y:auto}@media (max-width: 480px){.pp-page-head h1{font-size:21px}.pp-stat-num{font-size:24px}.pp-tl-time{width:74px}.pp-dl{grid-template-columns:72px 1fr}.pp-btn{padding:0 12px;font-size:14px}.pp-modal-foot{flex-direction:column-reverse}.pp-modal-foot .pp-btn{width:100%}}.pp-sticky-foot{position:sticky;bottom:0;z-index:5;margin:8px -18px -20px;padding:12px 18px calc(12px + env(safe-area-inset-bottom));background:var(--bg-1);border-top:1px solid var(--line)}.tf{display:flex;flex-direction:column;gap:16px;padding:4px 0 24px}.tf-head h1{font-size:20px;font-weight:700;color:var(--text-1)}.tf-sub{font-size:13px;color:var(--text-3);margin-top:4px}.tf-snap{border:1px solid var(--line);border-radius:12px;padding:14px;background:var(--bg-2)}.tf-snap h2{font-size:14px;font-weight:600;margin-bottom:8px;color:var(--text-1)}.tf-snap ul{list-style:none;display:flex;flex-direction:column;gap:6px;font-size:13px;word-break:break-all;color:var(--text-2)}.tf-err{color:var(--danger);font-size:13px;margin:8px 0}.tf-cases{display:flex;flex-direction:column;gap:12px}.tf-case{border:1px solid var(--line);border-radius:12px;padding:14px}.tf-case-top{display:flex;gap:12px;align-items:flex-start;justify-content:space-between}.tf-case h3{font-size:15px;font-weight:600;color:var(--text-1)}.tf-case p{font-size:13px;color:var(--text-3);margin-top:4px}.tf-btn{padding:10px 16px;border:1px solid var(--line);border-radius:10px;background:var(--bg-1);color:var(--text-1);font-size:14px;cursor:pointer;min-height:44px;flex-shrink:0}.tf-btn.primary{background:var(--accent);color:var(--on-accent);border-color:var(--accent)}.tf-btn:disabled{opacity:.5;cursor:not-allowed}.tf-btn.danger{color:var(--danger);border-color:var(--danger);background:var(--bg-1)}.tf-snap-acts{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.tf-note{font-size:13px;color:var(--text-2);margin-top:8px}.tf-log{margin-top:10px;padding:10px;background:#0f1020;color:#e8e8f5;border-radius:8px;font-size:12px;line-height:1.6;white-space:pre-wrap;word-break:break-all;max-height:320px;overflow-y:auto}@media (max-width: 480px){.tf-case-top{flex-direction:column}.tf-btn,.tf-snap-acts .tf-btn{width:100%}}
