*,:before,:after,::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border:0 solid #e5e7eb}:before,:after{--tw-content:""}html,:host{-webkit-text-size-adjust:100%;tab-size:4;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent;font-family:Arial,Helvetica,sans-serif;line-height:1.5}body{line-height:inherit;margin:0}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-feature-settings:normal;font-variation-settings:normal;font-family:SF Mono,ui-monospace,Menlo,Consolas,monospace;font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-feature-settings:inherit;font-variation-settings:inherit;font-family:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:#0000;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{margin:0;padding:0;list-style:none}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder{opacity:1;color:#9ca3af}textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.container{width:100%}@media (width>=640px){.container{max-width:640px}}@media (width>=768px){.container{max-width:768px}}@media (width>=1024px){.container{max-width:1024px}}@media (width>=1280px){.container{max-width:1280px}}@media (width>=1536px){.container{max-width:1536px}}:root{--ink:#1a1a1a;--muted:#7a7a7a;--logo-grey:#8c8c8c;--green:#97d700;--green-d:#7ab200;--green-ink:#5e8a00;--green-wash:#97d70024;--warn:#c25b17;--warn-wash:#c25b171a;--error:#b42318;--error-wash:#fde8e8;--ok-ink:#3f6e00;--ok-bg:#e9f7d8;--info-ink:#1d4f91;--info-bg:#eaf1fb;--neutral-ink:#475467;--neutral-bg:#eef2f6;--line:#e0e0e0;--line2:#bfbfbf;--zebra:#f4f4f2;--page:#f7f7f5;--surface:#fff;--font:Arial, Helvetica, sans-serif;--mono:"SF Mono", ui-monospace, Menlo, Consolas, monospace;--r-xs:4px;--r-sm:8px;--r-md:12px;--r-lg:16px;--r-pill:999px;--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:24px;--sp-6:32px;--sp-7:48px;--shadow-sm:0 1px 2px #1a1a1a0f, 0 1px 3px #1a1a1a0d;--shadow-md:0 4px 12px #1a1a1a14, 0 2px 4px #1a1a1a0d;--shadow-lg:0 18px 48px #1a1a1a24;--ease-out:cubic-bezier(.16, 1, .3, 1);--ease-in-out:cubic-bezier(.65, 0, .35, 1);--ease-spring:cubic-bezier(.34, 1.56, .64, 1);--dur-fast:.16s;--dur-base:.32s;--dur-slow:.64s;--focus-ring:0 0 0 3px #97d70073;--pp-side-w:240px;--pp-bar-h:0px;--pp-top-h:44px}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;transition-delay:0s!important;animation-duration:.01ms!important;animation-iteration-count:1!important;animation-delay:0s!important}}html,body,#root{min-height:100%}body{background:var(--page);color:var(--ink);font:14px/1.5 var(--font);-webkit-font-smoothing:antialiased;margin:0}code,kbd,samp{font-family:var(--mono);font-size:.92em}:where(a,button,input,select,textarea,summary,[tabindex]):focus-visible{outline:2px solid var(--green-ink);outline-offset:2px}.pp-sr{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;position:absolute;overflow:hidden}.pp-shell{background:var(--surface);min-height:100vh;display:flex}.pp-main{background:var(--surface);flex-direction:column;flex:auto;min-width:0;min-height:100vh;display:flex;position:relative}.pp-content{width:100%;max-width:calc(1040px + 2 * var(--sp-5));padding:var(--sp-5) var(--sp-5) var(--sp-7);transition:max-width var(--dur-base) var(--ease-out);flex:1 0 auto;margin:0 auto}.pp-is-collapsed .pp-content{max-width:calc(1040px + 184px + 2 * var(--sp-5))}.pp-content:focus,.pp-content h1:focus{outline:none}.pp-bar-slot{z-index:15;flex:none;position:sticky;bottom:0}.pp-wm{white-space:nowrap;font-family:Arial,Helvetica,sans-serif;font-size:15px;font-weight:700;line-height:1}.pp-wm-f{color:var(--green)}.pp-wm-s{color:var(--logo-grey)}.pp-av{background:var(--ink);width:26px;height:26px;color:var(--surface);letter-spacing:.02em;border-radius:50%;flex:none;place-items:center;font-size:10px;font-weight:700;display:grid}.pp-icon-btn{border-radius:var(--r-sm);width:28px;height:28px;color:var(--muted);cursor:pointer;transition:background-color var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out);background:0 0;border:0;flex:none;place-items:center;padding:0;display:grid}.pp-icon-btn:hover{background:var(--line);color:var(--ink)}.pp-icon-btn:focus-visible{box-shadow:var(--focus-ring);outline:none}.pp-side{z-index:30;background:var(--page);border-right:1px solid var(--line);width:240px;height:100vh;transition:width var(--dur-base) var(--ease-out);flex-direction:column;flex:none;display:flex;position:sticky;top:0;overflow:hidden}.pp-is-collapsed .pp-side{width:56px}.pp-side-head{flex:none;align-items:center;gap:10px;width:240px;height:48px;padding:0 14px;display:flex}.pp-side-head .pp-wm{text-decoration:none}.pp-side-head .pp-wm,.pp-side-label,.pp-side-meta,.pp-nav-lbl,.pp-nav-tw,.pp-side-search,.pp-side-empty{transition:opacity var(--dur-fast) var(--ease-out)}.pp-is-collapsed .pp-side-head .pp-wm,.pp-is-collapsed .pp-side-label,.pp-is-collapsed .pp-side-meta,.pp-is-collapsed .pp-nav-lbl,.pp-is-collapsed .pp-nav-tw,.pp-is-collapsed .pp-side-empty{opacity:0}.pp-nav-collapse .pp-icon{transition:transform var(--dur-base) var(--ease-out)}.pp-is-collapsed .pp-nav-collapse .pp-icon{transform:scaleX(-1)}.pp-side-search{width:216px;transition:opacity var(--dur-fast) var(--ease-out), visibility 0s linear 0s;flex:none;margin:0 12px 6px}.pp-is-collapsed .pp-side-search{opacity:0;visibility:hidden;transition:opacity var(--dur-fast) var(--ease-out), visibility 0s linear var(--dur-fast)}.pp-tree{scrollbar-width:none;flex:auto;width:240px;min-height:0;padding:2px 0 16px;position:relative;overflow:hidden auto}.pp-tree::-webkit-scrollbar{display:none}.pp-side-label{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;margin:6px 0 4px;padding-left:18px;font-size:10.5px;font-weight:700}.pp-side-empty{color:var(--muted);margin:6px 18px;font-size:12px}.pp-nav-row{align-items:center;padding-right:8px;display:flex}.pp-nav-item{--pp-nav-in:18px;width:calc(100% - 8px);height:32px;padding:0 10px 0 var(--pp-nav-in);border-radius:0 var(--r-sm) var(--r-sm) 0;color:var(--muted);text-align:left;white-space:nowrap;cursor:pointer;transition:background-color var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out), padding-left var(--dur-base) var(--ease-out);background:0 0;border:0;align-items:center;gap:10px;margin:1px 0;font-size:13px;line-height:1.4;text-decoration:none;display:flex}.pp-nav-row .pp-nav-item{flex:auto;width:auto;min-width:0}.pp-nav-item:hover{background:var(--zebra);color:var(--ink)}.pp-nav-item:focus-visible{box-shadow:inset 0 0 0 2px var(--green-ink);outline:none}.pp-nav-item.pp-is-current{color:var(--ink)}.pp-nav-item.pp-is-active{background:var(--surface);color:var(--ink);box-shadow:var(--shadow-sm);font-weight:700}.pp-nav-item.pp-is-active:focus-visible{box-shadow:inset 0 0 0 2px var(--green-ink), var(--shadow-sm)}.pp-nav-item-l2{--pp-nav-in:30px}.pp-nav-item-l3{--pp-nav-in:46px;height:30px;font-size:12.5px}.pp-is-collapsed .pp-nav-item{--pp-nav-in:18px}.pp-nav-ico{flex:none;place-items:center;width:20px;height:20px;display:grid}.pp-nav-item-l3 .pp-icon{width:14px;height:14px}.pp-nav-lbl{text-overflow:ellipsis;min-width:0;overflow:hidden}.pp-nav-badge{border-radius:var(--r-xs);background:var(--line);width:20px;height:20px;color:var(--ink);font-variant-numeric:tabular-nums;transition:background-color var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out);place-items:center;font-size:9.5px;font-weight:700;display:grid}.pp-nav-item.pp-is-current .pp-nav-badge{background:var(--green);color:var(--ink)}.pp-side-meta{color:var(--muted);font-variant-numeric:tabular-nums;margin-left:auto;padding-left:6px;font-size:11px;font-weight:400}.pp-nav-tw{width:24px;height:24px;margin-left:2px}.pp-nav-tw .pp-icon{width:14px;height:14px;transition:transform var(--dur-base) var(--ease-out)}.pp-nav-tw[aria-expanded=false] .pp-icon{transform:rotate(-90deg)}.pp-is-collapsed .pp-nav-tw{pointer-events:none}.pp-nav-kids{transition:grid-template-rows var(--dur-base) var(--ease-out);grid-template-rows:1fr;display:grid}.pp-nav-kids.pp-is-shut{grid-template-rows:0fr}.pp-nav-kids-in{min-height:0;overflow:hidden}.pp-nav-ind{background:var(--green-ink);opacity:0;pointer-events:none;width:3px;height:0;transition:transform var(--dur-base) var(--ease-out), height var(--dur-base) var(--ease-out), opacity var(--dur-fast) var(--ease-out);border-radius:0 3px 3px 0;position:absolute;top:0;left:0}.pp-nav-ind.pp-no-anim{transition:none}.pp-side-foot{align-items:center;gap:var(--sp-2);border-top:1px solid var(--line);flex:none;width:240px;height:52px;padding:0 12px 0 15px;display:flex}.pp-av-btn{cursor:pointer;transition:box-shadow var(--dur-fast) var(--ease-out);border:0;padding:0;font-family:inherit}.pp-av-btn:disabled{cursor:default}.pp-av-btn:not(:disabled):hover,.pp-av-btn[aria-expanded=true]{box-shadow:0 0 0 3px var(--line)}.pp-side-who{flex:auto;min-width:0;line-height:1.3;display:grid}.pp-side-user,.pp-side-role{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.pp-side-user{color:var(--ink);font-size:12px;font-weight:700}.pp-side-role{color:var(--muted);font-size:11px}.pp-side-who,.pp-side-signout{transition:opacity var(--dur-fast) var(--ease-out), visibility 0s linear 0s}.pp-btn.pp-side-signout{flex:none;font-size:12px}.pp-is-collapsed .pp-side-who,.pp-is-collapsed .pp-side-signout{opacity:0;visibility:hidden;transition:opacity var(--dur-fast) var(--ease-out), visibility 0s linear var(--dur-fast)}.pp-user-menu{z-index:70;min-width:180px;max-width:280px;padding:var(--sp-3);border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);box-shadow:var(--shadow-lg);opacity:0;visibility:hidden;transition:opacity var(--dur-base) var(--ease-out), transform var(--dur-base) var(--ease-out), visibility 0s linear var(--dur-base);position:fixed;transform:translate(-6px)}.pp-user-menu.pp-is-open{opacity:1;visibility:visible;transition:opacity var(--dur-base) var(--ease-out), transform var(--dur-base) var(--ease-out), visibility 0s;transform:none}.pp-user-menu-name,.pp-user-menu-role{text-overflow:ellipsis;white-space:nowrap;margin:0;overflow:hidden}.pp-user-menu-name{font-size:13px;font-weight:700}.pp-user-menu-role{color:var(--muted);font-size:12px}.pp-btn.pp-user-menu-item{margin-top:var(--sp-2);font-size:13px}.pp-tip{z-index:70;border-radius:var(--r-sm);background:var(--ink);color:var(--surface);white-space:nowrap;pointer-events:none;opacity:0;transition:opacity var(--dur-fast) var(--ease-out), transform var(--dur-base) var(--ease-out);padding:5px 8px;font-size:11.5px;font-weight:700;line-height:1.2;position:fixed;transform:translate(-4px,-50%)}.pp-tip.pp-is-shown{opacity:1;transform:translateY(-50%)}.pp-scrim{z-index:29;background:color-mix(in srgb, var(--ink) 40%, transparent);opacity:0;visibility:hidden;transition:opacity var(--dur-base) var(--ease-out), visibility 0s linear var(--dur-base);position:fixed;inset:0}.pp-is-narrow .pp-side{width:240px;height:auto;box-shadow:var(--shadow-lg);visibility:hidden;transition:transform var(--dur-base) var(--ease-out), visibility 0s linear var(--dur-base);position:fixed;top:0;bottom:0;left:0;transform:translate(-100%)}.pp-is-narrow.pp-is-drawer-open .pp-side{visibility:visible;transition:transform var(--dur-base) var(--ease-out), visibility 0s;transform:none}.pp-is-narrow.pp-is-drawer-open .pp-scrim{opacity:1;visibility:visible;transition:opacity var(--dur-base) var(--ease-out), visibility 0s}.pp-topbar{z-index:20;align-items:center;gap:var(--sp-2);height:44px;padding:0 var(--sp-5);background:var(--surface);border-bottom:1px solid var(--line);transition:box-shadow var(--dur-base) var(--ease-out);flex:none;display:flex;position:sticky;top:0}.pp-topbar.pp-is-scrolled{box-shadow:var(--shadow-sm)}.pp-topbar-menu{margin-left:-6px}.pp-path{min-width:0;color:var(--muted);white-space:nowrap;align-items:center;gap:6px;font-size:12px;display:flex;overflow:hidden}.pp-path-sep{color:var(--line2);flex:none}.pp-path-cur{min-width:0;color:var(--ink);text-overflow:ellipsis;font-weight:700;overflow:hidden}.pp-path-link{color:var(--muted);transition:color var(--dur-fast) var(--ease-out);flex:none;padding:2px 0;text-decoration:none;position:relative}.pp-path-link:after{content:"";transform-origin:0;height:1px;transition:transform var(--dur-base) var(--ease-out);background:currentColor;position:absolute;bottom:0;left:0;right:0;transform:scaleX(0)}.pp-path-link:hover{color:var(--ink)}.pp-path-link:hover:after{transform:scaleX(1)}.pp-topbar-actions{align-items:center;gap:var(--sp-2);flex:none;margin-left:auto;display:flex}.pp-topbar-actions:empty{display:none}.pp-head{justify-content:space-between;align-items:flex-start;gap:var(--sp-3) var(--sp-4);flex-wrap:wrap;margin-bottom:20px;display:flex}.pp-head-text{min-width:0}.pp-head-eyebrow{color:var(--green-ink);letter-spacing:.08em;text-transform:uppercase;margin:0 0 6px;font-size:11px;font-weight:700}.pp-head-title{letter-spacing:-.01em;font-variant-numeric:tabular-nums;margin:0;font-size:22px;font-weight:700;line-height:1.2}.pp-head-meta{color:var(--muted);font-variant-numeric:tabular-nums;margin:4px 0 0;font-size:13px}.pp-head-actions{align-items:center;gap:var(--sp-2);flex-wrap:wrap;display:flex}.pp-swap{animation:pp-swap var(--dur-base) var(--ease-out) both}@keyframes pp-swap{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}@media (width<=640px){.pp-content{padding:var(--sp-4) var(--sp-4) var(--sp-6)}.pp-topbar{padding:0 var(--sp-4)}}.pp-content{font-size:13px;line-height:1.45}@keyframes pp-grow{0%{transform:scaleX(0)}}@keyframes pp-up{0%{transform:translateY(100%)}}@keyframes pp-pop{0%{transform:scale(.6)}}@keyframes pp-rot{to{transform:rotate(360deg)}}@keyframes pp-rise{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}@keyframes pp-draw{0%{stroke-dashoffset:1px}to{stroke-dashoffset:0}}.pp-btn{border-radius:var(--r-sm);height:34px;font-family:var(--font);white-space:nowrap;cursor:pointer;transition:background-color var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out), transform var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out);border:1px solid #0000;justify-content:center;align-items:center;gap:6px;padding:0 14px;font-size:13px;font-weight:700;line-height:1;text-decoration:none;display:inline-flex;position:relative;overflow:hidden}.pp-btn:active{transform:scale(.98)}.pp-btn:focus-visible{box-shadow:var(--focus-ring);outline:none}.pp-btn:disabled,.pp-btn[aria-disabled=true]{cursor:default;opacity:.45;transform:none}.pp-btn.pp-is-busy:disabled,.pp-btn.pp-is-done:disabled{opacity:1}.pp-btn .pp-icon{flex:none;width:14px;height:14px}.pp-btn-sm{height:28px;padding:0 10px;font-size:12px}.pp-btn-primary{background:var(--green);border-color:var(--green);color:var(--ink)}.pp-btn-primary:not(:disabled):hover{background:var(--green-d);border-color:var(--green-d)}.pp-btn-secondary{background:var(--surface);border-color:var(--line2);color:var(--ink)}.pp-btn-secondary:not(:disabled):hover{background:var(--zebra);border-color:var(--ink)}.pp-btn-primary.pp-is-done,.pp-btn-primary.pp-is-done:hover{background:var(--ok-bg);border-color:var(--ok-bg);color:var(--ok-ink)}.pp-btn-text,.pp-btn-danger-text{border-radius:var(--r-xs);background:0 0;border:0;gap:4px;height:auto;min-height:24px;padding:2px;overflow:visible}.pp-btn-text{color:var(--green-ink)}.pp-btn-danger-text{color:var(--error)}.pp-btn-text:not(:disabled):hover,.pp-btn-danger-text:not(:disabled):hover{color:var(--ink)}.pp-btn-text:active,.pp-btn-danger-text:active{transform:none}.pp-btn-text .pp-btn-trail,.pp-btn-danger-text .pp-btn-trail{transition:transform var(--dur-base) var(--ease-out)}.pp-btn-text:not(:disabled):hover .pp-btn-trail,.pp-btn-danger-text:not(:disabled):hover .pp-btn-trail{transform:translate(3px)}.pp-btn-text.pp-btn-sm,.pp-btn-danger-text.pp-btn-sm{height:auto;padding:2px}.pp-btn-disclose .pp-btn-trail{transition:transform var(--dur-base) var(--ease-out)}.pp-btn-disclose[aria-expanded=true] .pp-btn-trail{transform:rotate(180deg)}.pp-btn-stack{justify-items:center;display:grid}.pp-btn-stack>span{transition:opacity var(--dur-fast) var(--ease-out), transform var(--dur-base) var(--ease-out);grid-area:1/1;align-items:center;gap:6px;display:inline-flex}.pp-st-done,.pp-st-busy{opacity:0;transform:translateY(8px)}.pp-is-done .pp-st-idle,.pp-is-busy .pp-st-idle{opacity:0;transform:translateY(-8px)}.pp-is-done .pp-st-done,.pp-is-busy .pp-st-busy{opacity:1;transform:none}.pp-tick{flex:none;width:14px;height:14px}.pp-tick path{stroke-dasharray:1;stroke-dashoffset:1px;transition:stroke-dashoffset var(--dur-slow) var(--ease-out) 80ms}.pp-is-done .pp-tick path{stroke-dashoffset:0}.pp-spin{border:2px solid color-mix(in srgb, var(--ink) 22%, transparent);border-top-color:var(--ink);border-radius:50%;flex:none;width:12px;height:12px}.pp-is-busy .pp-spin{animation:.7s linear infinite pp-rot}.pp-flow{width:100%;max-width:672px;margin:0 auto}.pp-steps{align-items:center;gap:10px;width:100%;max-width:672px;margin:0 auto 20px;padding:4px 0;list-style:none;display:flex}.pp-step{align-items:center;gap:var(--sp-2);color:var(--muted);flex:none;font-size:12px;font-weight:700;display:flex}.pp-step-dot{border:1.5px solid var(--line2);background:var(--surface);width:24px;height:24px;color:var(--muted);transition:background-color var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out), box-shadow var(--dur-base) var(--ease-out);border-radius:50%;place-items:center;font-size:11px;line-height:1;display:grid}.pp-step-dot>*{grid-area:1/1}.pp-step-num{transition:opacity var(--dur-fast) var(--ease-out)}.pp-step-dot svg{width:13px;height:13px}.pp-step-dot path{stroke-dasharray:1;stroke-dashoffset:1px;transition:stroke-dashoffset var(--dur-base) var(--ease-out)}.pp-step-done .pp-step-dot{border-color:var(--green-ink);background:var(--green-ink);color:var(--surface)}.pp-step-done .pp-step-num{opacity:0}.pp-step-done .pp-step-check path{stroke-dashoffset:0}.pp-step-done .pp-step-name,.pp-step-now .pp-step-name{color:var(--ink)}.pp-step-now .pp-step-dot{border-color:var(--ink);background:var(--ink);color:var(--surface);box-shadow:0 0 0 4px var(--green-wash);animation:pp-pop var(--dur-base) var(--ease-spring) both}.pp-step-link{background:var(--line);border-radius:2px;flex:auto;min-width:12px;height:2px}.pp-step-link span{border-radius:inherit;background:var(--green-ink);transform-origin:0;height:100%;transition:transform var(--dur-slow) var(--ease-out);display:block;transform:scaleX(0)}.pp-step-link-on span{transform:none}.pp-steps-cancelled .pp-step-dot{border-color:var(--line2);background:var(--surface);color:var(--muted);box-shadow:none;animation:none}.pp-steps-cancelled .pp-step-name{color:var(--muted)}.pp-steps-cancelled .pp-step-link span{background:var(--line2)}.pp-steps-cancelled .pp-step-cancel .pp-step-dot{border-color:var(--neutral-ink);background:var(--neutral-bg);color:var(--neutral-ink)}.pp-steps-cancelled .pp-step-cancel .pp-step-name{color:var(--neutral-ink)}@media (width<=560px){.pp-step-name{display:none}.pp-step-now .pp-step-name,.pp-steps-cancelled .pp-step-cancel .pp-step-name{display:inline}}.pp-actionbar{border-top:1px solid var(--line);background:var(--surface);background:color-mix(in srgb, var(--surface) 90%, transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:0 -12px 32px -24px color-mix(in srgb, var(--ink) 30%, transparent)}.pp-actionbar.pp-is-entering{animation:pp-up var(--dur-base) var(--ease-out) .24s both}.pp-actionbar-in{justify-content:space-between;align-items:center;gap:var(--sp-4);max-width:calc(672px + 2 * var(--sp-5));padding:12px var(--sp-5);margin:0 auto;display:flex}.pp-actionbar-summary{font-variant-numeric:tabular-nums;min-width:0;margin:0;font-size:13px}.pp-actionbar-summary b,.pp-actionbar-summary .pp-count{font-size:15px;font-weight:700}.pp-actionbar-actions{align-items:center;gap:var(--sp-2);flex:none;display:flex}.pp-actionbar .pp-btn-primary,.pp-actionbar .pp-btn-secondary{min-width:96px;height:36px}@media (width<=640px){.pp-actionbar-in{padding:10px var(--sp-4);flex-wrap:wrap;gap:10px}.pp-actionbar-actions{justify-content:flex-end;width:100%}}.pp-sheet{z-index:60;visibility:hidden;pointer-events:none;transition:visibility 0s linear var(--dur-base);position:fixed;inset:0}.pp-sheet.pp-is-open{visibility:visible;pointer-events:auto;transition:visibility}.pp-sheet-scrim{background:color-mix(in srgb, var(--ink) 40%, transparent);opacity:0;transition:opacity var(--dur-base) var(--ease-out);position:absolute;inset:0}.pp-sheet.pp-is-open>.pp-sheet-scrim{opacity:1}.pp-sheet-panel{bottom:0;right:0;left:var(--pp-side-w,0px);max-height:85vh;padding:10px var(--sp-5) 22px;border-radius:var(--r-lg) var(--r-lg) 0 0;background:var(--surface);box-shadow:var(--shadow-lg);color:var(--ink);transition:transform var(--dur-base) var(--ease-out);flex-direction:column;font-size:13px;line-height:1.45;display:flex;position:absolute;transform:translateY(100%)}.pp-sheet.pp-is-open .pp-sheet-panel{transform:none}.pp-sheet-panel:focus{outline:none}.pp-sheet-grip{border-radius:var(--r-pill);background:var(--line2);flex:none;width:36px;height:4px;margin:0 auto 14px;display:block}.pp-sheet-in{flex-direction:column;width:100%;max-width:672px;min-height:0;margin:0 auto;display:flex}.pp-sheet-eyebrow{color:var(--muted);letter-spacing:.02em;margin:0;font-size:11px;font-weight:700;display:block}.pp-sheet-title{margin:4px 0 0;font-size:18px;font-weight:700;line-height:1.3}.pp-sheet-body{color:var(--muted);margin:6px 0 0}.pp-sheet-content{min-height:0;margin-top:14px;overflow-y:auto}.pp-sheet-actions{justify-content:flex-end;gap:var(--sp-2);flex-wrap:wrap;flex:none;margin-top:18px;display:flex}.pp-sheet-actions .pp-btn-primary,.pp-sheet-actions .pp-btn-secondary{min-width:96px;height:36px}@media (width<=899px){.pp-sheet-panel{left:0}}@media (width<=640px){.pp-sheet-panel{padding:10px var(--sp-4) 18px}}.pp-kpi{grid-template-columns:repeat(var(--pp-kpi-n,4), minmax(0, 1fr));border:1px solid var(--line);border-radius:var(--r-sm);display:grid}.pp-kpi-cell{min-width:0;padding:10px 14px}.pp-kpi-cell+.pp-kpi-cell{border-left:1px solid var(--line)}.pp-kpi-lbl{color:var(--muted);letter-spacing:.02em;white-space:nowrap;align-items:center;gap:6px;font-size:11px;font-weight:700;display:flex}.pp-kpi-num{font-variant-numeric:tabular-nums;margin-top:2px;font-size:20px;font-weight:700;line-height:1.2;display:block}.pp-kpi-ok .pp-kpi-num{color:var(--green-ink)}.pp-kpi-warn .pp-kpi-num{color:var(--warn)}@media (width<=640px){.pp-kpi{grid-template-columns:repeat(2,minmax(0,1fr))}.pp-kpi-cell+.pp-kpi-cell{border-left:0}.pp-kpi-cell:nth-child(2n){border-left:1px solid var(--line)}.pp-kpi-cell:nth-child(n+3){border-top:1px solid var(--line)}}.pp-count{font-variant-numeric:tabular-nums;justify-items:end;display:inline-grid}.pp-count>span{grid-area:1/1}.pp-count-ghost{visibility:hidden}.pp-match{gap:var(--sp-2);border-radius:var(--r-sm);background:var(--zebra);padding:12px 14px;display:grid}.pp-match-text{font-variant-numeric:tabular-nums;margin:0}.pp-match-actions{align-items:center;gap:4px var(--sp-4);flex-wrap:wrap;display:flex}.pp-mbar{border-radius:var(--r-pill);gap:2px;height:6px;display:flex;overflow:hidden}.pp-mbar-mini{width:var(--pp-mbar-w,64px);vertical-align:middle;display:inline-flex}.pp-mbar-m{flex:0 0 var(--pp-mbar-p);background:var(--green);transform-origin:0;animation:pp-grow var(--dur-slow) var(--ease-out) both}.pp-mbar-n{background:var(--line);transform-origin:0;animation:pp-grow var(--dur-slow) var(--ease-out) .12s both;flex:auto}.pp-match .pp-mbar-n{background:var(--line)}.pp-mbar-empty{background:var(--line);flex:auto}.pp-callout{align-items:center;gap:var(--sp-2);border-radius:var(--r-sm);background:var(--warn-wash);padding:10px 14px;font-size:12px;display:flex}.pp-callout-dot{background:var(--warn);border-radius:50%;flex:none;width:6px;height:6px}.pp-callout-info{background:var(--info-bg)}.pp-callout-info .pp-callout-dot{background:var(--info-ink)}.pp-callout-ok{background:var(--ok-bg)}.pp-callout-ok .pp-callout-dot{background:var(--ok-ink)}.pp-callout-text{flex:auto;min-width:0}.pp-callout-action{align-items:center;gap:var(--sp-3);flex:none;margin-left:auto;display:flex}@media (width<=560px){.pp-callout{flex-wrap:wrap}.pp-callout-action{width:100%;margin-left:14px}}.pp-sec{justify-content:space-between;align-items:baseline;gap:var(--sp-3);margin:18px 0 8px;display:flex}.pp-sec:first-child{margin-top:0}.pp-sec-label{border-radius:var(--r-xs);color:var(--muted);letter-spacing:.06em;text-transform:uppercase;transition:background-color var(--dur-slow) var(--ease-out), box-shadow var(--dur-slow) var(--ease-out), color var(--dur-slow) var(--ease-out);margin:0;font-size:11px;font-weight:700;box-shadow:0 0 0 4px #0000}.pp-sec.pp-is-flash .pp-sec-label{background:var(--green-wash);box-shadow:0 0 0 4px var(--green-wash);color:var(--ink);transition-duration:var(--dur-fast)}.pp-sec-count{height:18px;margin-left:var(--sp-2);border-radius:var(--r-pill);background:var(--neutral-bg);color:var(--neutral-ink);letter-spacing:0;vertical-align:1px;font-variant-numeric:tabular-nums;align-items:center;padding:0 6px;font-size:11px;font-weight:700;display:inline-flex}.pp-sec-count-warn{background:var(--warn-wash);color:var(--warn)}.pp-sec-count-error{background:var(--error-wash);color:var(--error)}.pp-sec-action{align-items:center;gap:var(--sp-3);font-size:12px;display:flex}.pp-rows{border-top:1px solid var(--line);margin:0;padding:0;list-style:none}.pp-row{grid-template-columns:minmax(0, 1fr) auto var(--pp-row-v,96px);-moz-column-gap:var(--sp-3);align-items:center;column-gap:var(--sp-3);min-height:36px;padding:0 var(--sp-2);border-bottom:1px solid var(--line);transition:background-color var(--dur-fast) var(--ease-out);display:grid}.pp-row:hover{background:var(--zebra)}.pp-row-text{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.pp-row-tag{justify-self:end}.pp-row-val{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums;font-weight:700}.pp-row-has-meter{grid-template-rows:30px auto}.pp-row-meter{border-radius:var(--r-pill);background:var(--zebra);height:4px;transition:background-color var(--dur-fast) var(--ease-out);grid-column:1/-1;margin:0 0 9px;display:block;overflow:hidden}.pp-row:hover .pp-row-meter{background:var(--line)}.pp-row-fill{width:var(--pp-row-p,0%);border-radius:inherit;background:var(--green);transform-origin:0;height:100%;animation:pp-grow var(--dur-slow) var(--ease-out) both;animation-delay:calc(var(--pp-i,0) * 60ms);display:block}.pp-dot{background:currentColor;border-radius:50%;flex:none;width:6px;height:6px;display:inline-block;position:relative}.pp-dot-ring{background:0 0;box-shadow:inset 0 0 0 1.5px}.pp-dot-live,.pp-dot-ok{background:var(--green-ink)}.pp-dot-live:after{content:"";background:var(--green);opacity:0;animation:pp-pulse 2.4s var(--ease-out) infinite;border-radius:50%;position:absolute;inset:0}@keyframes pp-pulse{0%{opacity:.8;transform:scale(1)}55%,to{opacity:0;transform:scale(3.2)}}@media (prefers-reduced-motion:reduce){.pp-dot-live:after,.pp-skel{animation:none}}.pp-chip{border-radius:var(--r-pill);background:var(--neutral-bg);height:24px;color:var(--neutral-ink);white-space:nowrap;vertical-align:middle;flex:none;align-items:center;gap:6px;padding:0 10px;font-size:12px;font-weight:700;line-height:1;display:inline-flex}.pp-chip-sm{height:22px;padding:0 8px;font-size:11.5px}.pp-chip svg{flex:none;width:12px;height:12px}.pp-chip-ok{background:var(--ok-bg);color:var(--ok-ink)}.pp-chip-info{background:var(--info-bg);color:var(--info-ink)}.pp-chip-neutral{background:var(--neutral-bg);color:var(--neutral-ink)}.pp-chip-warn{background:var(--warn-wash);color:var(--warn)}.pp-chip-error{background:var(--error-wash);color:var(--error)}.pp-tag{border:1px solid var(--line);border-radius:var(--r-pill);background:var(--zebra);height:20px;color:var(--neutral-ink);white-space:nowrap;vertical-align:middle;align-items:center;padding:0 7px;font-size:11px;line-height:1;display:inline-flex}.pp-tag-ok,.pp-tag-info,.pp-tag-warn,.pp-tag-error,.pp-tag-neutral{border:0;padding:0 8px;font-weight:700}.pp-tag-ok{background:var(--ok-bg);color:var(--ok-ink)}.pp-tag-info{background:var(--info-bg);color:var(--info-ink)}.pp-tag-warn{background:var(--warn-wash);color:var(--warn)}.pp-tag-error{background:var(--error-wash);color:var(--error)}.pp-tag-neutral{background:var(--neutral-bg);color:var(--neutral-ink)}.pp-table-wrap{position:relative;overflow-x:auto}.pp-table-wrap.pp-table-scroll{overscroll-behavior:contain;overflow:auto}.pp-table-wrap:focus-visible{box-shadow:var(--focus-ring);outline:none}.pp-table{border-collapse:separate;border-spacing:0;text-align:left;width:100%;font-size:13px}.pp-table th{z-index:2;height:38px;padding:0 var(--sp-3);background:var(--surface);border-bottom:1px solid var(--line);color:var(--muted);white-space:nowrap;transition:box-shadow var(--dur-base) var(--ease-out);font-size:12px;font-weight:700;position:sticky;top:0}.pp-table-wrap.pp-is-scrolled th{box-shadow:var(--shadow-sm)}.pp-table td{height:44px;padding:10px var(--sp-3);background:var(--surface);border-bottom:1px solid var(--line);vertical-align:middle;font-variant-numeric:tabular-nums;transition:background-color var(--dur-fast) var(--ease-out)}.pp-table .pp-nowrap{white-space:nowrap}.pp-table .pp-num{text-align:right}.pp-table th:first-child,.pp-table td:first-child{padding-left:var(--sp-4)}.pp-table td:first-child{position:relative}.pp-table td:first-child:before{content:"";background:var(--green-ink);width:2px;transition:transform var(--dur-base) var(--ease-out);border-radius:2px;position:absolute;top:10px;bottom:10px;left:0;transform:scaleY(0)}.pp-table tbody tr:hover td{background:var(--zebra)}.pp-table-click tbody tr{cursor:pointer;outline:none}.pp-table-click tbody tr:hover td:first-child:before,.pp-table-click tbody tr:focus-visible td:first-child:before{transform:scaleY(1)}.pp-table-click tbody tr:focus-visible td{background:var(--zebra);box-shadow:inset 0 1px 0 var(--green-ink), inset 0 -1px 0 var(--green-ink)}.pp-table td.pp-accent{padding-left:24px}.pp-table td.pp-accent:after{content:"";background:var(--pp-accent,var(--line2));border-radius:2px;width:3px;position:absolute;top:10px;bottom:10px;left:12px}.pp-accent-warn{--pp-accent:var(--warn)}.pp-accent-error{--pp-accent:var(--error)}.pp-accent-neutral{--pp-accent:var(--line2)}.pp-open-col{text-align:right;width:84px}.pp-open{color:var(--green-ink);white-space:nowrap;opacity:0;transition:opacity var(--dur-fast) var(--ease-out), transform var(--dur-base) var(--ease-out);align-items:center;gap:4px;font-weight:700;display:inline-flex;transform:translate(-4px)}.pp-open .pp-icon{width:14px;height:14px}.pp-table-click tbody tr:hover .pp-open,.pp-table-click tbody tr:focus-visible .pp-open{opacity:1;transform:none}.pp-table-empty{padding:var(--sp-5) var(--sp-4);color:var(--muted)}.pp-skel{border-radius:var(--r-xs);background:linear-gradient(90deg, var(--zebra) 25%, var(--line) 37%, var(--zebra) 63%);background-size:400% 100%;height:12px;margin:2px 0;animation:1.2s linear infinite pp-shimmer;display:block}.pp-skel-thin{height:10px}@keyframes pp-shimmer{0%{background-position:100%}to{background-position:0}}.pp-skel-list{margin:0;padding:0;list-style:none}.pp-skel-row{height:56px;padding:0 var(--sp-4);border-bottom:1px solid var(--line);align-items:center;gap:12px;display:flex}.pp-skel-main{flex:auto;gap:5px;min-width:0;display:grid}.pp-skel-side{flex:none;justify-items:end;gap:5px;display:grid}.pp-fade-in{animation:pp-rise var(--dur-base) var(--ease-out) both}.pp-empty{max-width:320px;padding:var(--sp-6) var(--sp-4);text-align:center;flex-direction:column;align-items:center;margin:0 auto;display:flex}.pp-empty-art{width:72px;height:72px;margin-bottom:var(--sp-3);border:1px solid var(--line);background:var(--surface);border-radius:50%;place-items:center;display:grid}.pp-empty-art svg{width:44px;height:44px;stroke:var(--muted);stroke-width:1.6px}.pp-empty-art .pp-empty-accent{stroke:var(--green-ink);stroke-width:2.2px}.pp-empty-art path,.pp-empty-art circle{stroke-dasharray:1;animation:pp-draw var(--dur-slow) var(--ease-out) both}.pp-empty-art .pp-d2{animation-delay:.16s}.pp-empty-art .pp-d3{animation-delay:.32s}.pp-empty-title{animation:pp-rise var(--dur-base) var(--ease-out) .2s both;margin:0;font-size:15px;font-weight:700}.pp-empty-action{animation:pp-rise var(--dur-base) var(--ease-out) .32s both;margin-top:16px}.pp-toasts{bottom:calc(var(--pp-bar-h,0px) + var(--sp-3));left:calc(var(--pp-side-w,0px) + var(--sp-4));z-index:80;pointer-events:none;width:min(360px,100vw - 32px);transition:left var(--dur-base) var(--ease-out), bottom var(--dur-base) var(--ease-out);flex-direction:column;justify-content:flex-end;display:flex;position:fixed}.pp-toast-slot{transition:grid-template-rows var(--dur-base) var(--ease-out);grid-template-rows:0fr;display:grid}.pp-toast-slot.pp-is-in{grid-template-rows:1fr}.pp-toast-clip{min-height:0;margin:0 -16px;padding:2px 16px 10px;overflow:hidden}.pp-toast{align-items:center;gap:var(--sp-2);border-radius:var(--r-md);background:var(--ink);color:var(--surface);box-shadow:var(--shadow-md);pointer-events:auto;opacity:0;transition:opacity var(--dur-base) var(--ease-out), transform var(--dur-base) var(--ease-out);grid-template-columns:20px minmax(0,1fr) auto auto;padding:10px 6px 12px 12px;display:grid;position:relative;overflow:hidden;transform:translate(-16px)}.pp-is-in .pp-toast{opacity:1;transform:none}.pp-toast-slot.pp-is-out .pp-toast{opacity:0;transition-duration:var(--dur-fast), var(--dur-base);transform:translate(-16px)}.pp-toast-ico{background:var(--green);width:20px;height:20px;color:var(--ink);border-radius:50%;place-items:center;display:grid}.pp-toast-ico svg{fill:none;stroke:currentColor;stroke-width:1.9px;stroke-linecap:round;stroke-linejoin:round;width:12px;height:12px}.pp-toast[data-tone=warn] .pp-toast-ico{background:var(--warn);color:var(--surface)}.pp-toast[data-tone=neutral] .pp-toast-ico{background:color-mix(in srgb, var(--surface) 22%, transparent);color:var(--surface)}.pp-toast-text{min-width:0;margin:0;font-size:13px;line-height:1.4}.pp-toast-title{font-weight:700;display:block}.pp-toast-rest{color:color-mix(in srgb, var(--surface) 70%, transparent);font-variant-numeric:tabular-nums;overflow-wrap:anywhere;display:block}.pp-toast-link,.pp-toast-close{border-radius:var(--r-xs);cursor:pointer;height:28px;transition:background-color var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out);background:0 0;border:0}.pp-toast-link{color:var(--green);white-space:nowrap;align-items:center;padding:0 8px;font-size:13px;font-weight:700;text-decoration:none;display:inline-flex}.pp-toast-close{width:28px;color:color-mix(in srgb, var(--surface) 60%, transparent);place-items:center;padding:0;display:grid}.pp-toast-close svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;width:12px;height:12px}.pp-toast-link:hover,.pp-toast-close:hover{background:color-mix(in srgb, var(--surface) 12%, transparent);color:var(--surface)}.pp-toast-link:hover{color:var(--green)}.pp-toast-link:focus-visible,.pp-toast-close:focus-visible{box-shadow:var(--focus-ring);outline:none}.pp-toast-timer{background:var(--green);transform-origin:0;height:2px;animation:pp-countdown var(--pp-toast-ms,4s) linear forwards;position:absolute;bottom:0;left:0;right:0}.pp-toast[data-tone=warn] .pp-toast-timer{background:var(--warn)}.pp-toast[data-tone=neutral] .pp-toast-timer{background:var(--line2)}.pp-toast.pp-is-paused .pp-toast-timer{animation-play-state:paused}@keyframes pp-countdown{0%{transform:scaleX(1)}to{transform:scaleX(0)}}.pp-copy{vertical-align:middle;align-items:center;gap:6px;display:inline-flex}.pp-copy-id{border-radius:var(--r-xs);background:var(--zebra);color:var(--ink);font-family:var(--mono);white-space:nowrap;-webkit-user-select:all;user-select:all;padding:2px 7px;font-size:12px;font-weight:400;line-height:1.3;display:inline-block}.pp-copy-btn{background:var(--zebra);width:32px;height:32px;color:var(--ink);cursor:pointer;transition:background-color var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out);border:0;border-radius:50%;flex:none;place-items:center;margin:0 2px;padding:0;display:grid;position:relative}.pp-copy-sm .pp-copy-btn{width:24px;height:24px}.pp-copy-btn:hover{background:var(--line)}.pp-copy-btn:focus-visible{box-shadow:var(--focus-ring);outline:none}.pp-copy-ring{fill:none;width:calc(100% + 8px);height:calc(100% + 8px);stroke:var(--green-ink);stroke-width:1.5px;stroke-linecap:round;opacity:0;pointer-events:none;transition:opacity var(--dur-fast) var(--ease-out);position:absolute;top:-4px;left:-4px;overflow:visible;transform:rotate(-90deg)}.pp-copy-ring circle{stroke-dasharray:1;stroke-dashoffset:1px}.pp-copy-ico,.pp-copy-ok{fill:none;stroke:currentColor;stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round;grid-area:1/1;width:16px;height:16px}.pp-copy-sm .pp-copy-ico,.pp-copy-sm .pp-copy-ok{width:13px;height:13px}.pp-copy-ico{transition:opacity var(--dur-fast) var(--ease-out), transform var(--dur-base) var(--ease-out)}.pp-copy-ok{stroke:var(--green-ink);stroke-width:2.1px;transition:opacity var(--dur-fast) var(--ease-out)}.pp-copy-ok path{stroke-dasharray:1;stroke-dashoffset:1px}.pp-copy-status{white-space:nowrap;font-size:12px;font-weight:700;display:grid}.pp-copy-msg{opacity:0;transition:opacity var(--dur-fast) var(--ease-out), transform var(--dur-base) var(--ease-out);grid-area:1/1;transform:translate(-4px)}.pp-copy-msg-ok{color:var(--green-ink)}.pp-copy-msg-sel{color:var(--muted)}.pp-copy-status[data-show=ok] [data-msg=ok],.pp-copy-status[data-show=sel] [data-msg=sel]{opacity:1;transform:none}.pp-copy-float{position:relative}.pp-copy-float .pp-copy-status{z-index:1;pointer-events:none;transition:background-color var(--dur-fast) var(--ease-out);background:0 0;margin-left:2px;padding:0 4px;position:absolute;top:50%;left:100%;transform:translateY(-50%)}.pp-copy-float .pp-copy-status:not([data-show=none]){background:var(--surface)}.pp-copy.pp-is-done .pp-copy-btn{background:var(--green-wash)}.pp-copy.pp-is-done .pp-copy-ring{opacity:1}.pp-copy.pp-is-done .pp-copy-ring circle{stroke-dashoffset:0;transition:stroke-dashoffset var(--dur-slow) var(--ease-out)}.pp-copy.pp-is-done .pp-copy-ico{opacity:0;transform:scale(.6)}.pp-copy.pp-is-done .pp-copy-ok path{stroke-dashoffset:0;transition:stroke-dashoffset var(--dur-base) var(--ease-out) .12s}.pp-seg{border-radius:var(--r-pill);background:var(--zebra);scrollbar-width:none;max-width:100%;padding:4px;display:inline-flex;position:relative;overflow-x:auto}.pp-seg::-webkit-scrollbar{display:none}.pp-seg-opt{z-index:1;border-radius:var(--r-pill);height:32px;color:var(--muted);white-space:nowrap;cursor:pointer;transition:color var(--dur-fast) var(--ease-out);background:0 0;border:0;flex:none;align-items:center;gap:6px;padding:0 14px;font-size:12.5px;font-weight:700;display:inline-flex;position:relative}.pp-seg-opt:hover,.pp-seg-opt[aria-checked=true]{color:var(--ink)}.pp-seg-opt[aria-checked=true]{color:var(--surface)}.pp-seg-opt:focus-visible{box-shadow:var(--focus-ring);outline:none}.pp-seg-count{border-radius:var(--r-pill);background:var(--surface);min-width:20px;height:18px;color:var(--muted);text-align:center;font-variant-numeric:tabular-nums;transition:background-color var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out);padding:0 6px;font-size:11px;line-height:18px;display:inline-block}.pp-seg-count-warn{background:var(--warn-wash);color:var(--warn)}.pp-seg-opt[aria-checked=true] .pp-seg-count{background:color-mix(in srgb, var(--surface) 20%, transparent);color:var(--surface)}.pp-seg-thumb{border-radius:var(--r-pill);background:var(--ink);width:0;height:32px;box-shadow:var(--shadow-sm);opacity:0;pointer-events:none;transition:transform var(--dur-base) var(--ease-out), width var(--dur-base) var(--ease-out), opacity var(--dur-fast) var(--ease-out);position:absolute;top:4px;left:0}.pp-seg-thumb.pp-no-anim{transition:none}.pp-field{min-width:0}.pp-field-label{color:var(--muted);margin-bottom:6px;font-size:12px;font-weight:700;display:block}.pp-search{border:1px solid var(--zebra);border-radius:var(--r-sm);background:var(--zebra);height:36px;color:var(--muted);transition:border-color var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out), background-color var(--dur-fast) var(--ease-out);align-items:center;gap:6px;padding:0 4px 0 10px;display:flex;position:relative}.pp-search-sm{height:32px;padding-left:8px}.pp-search:hover{border-color:var(--line2)}.pp-search:focus-within{border-color:var(--green-ink);background:var(--surface);box-shadow:var(--focus-ring)}.pp-search input{min-width:0;height:100%;color:var(--ink);font:inherit;background:0 0;border:0;outline:none;flex:1;padding:0;font-size:13px}.pp-search-sm input{font-size:12.5px}.pp-search input:focus-visible{outline:none}.pp-search input::-webkit-search-cancel-button{appearance:none}.pp-search input::-webkit-search-decoration{appearance:none}.pp-search input::-moz-placeholder{color:var(--muted);-moz-transition:opacity var(--dur-fast) var(--ease-out);transition:opacity var(--dur-fast) var(--ease-out)}.pp-search input::placeholder{color:var(--muted);transition:opacity var(--dur-fast) var(--ease-out)}.pp-search input:focus::placeholder{opacity:.5}.pp-search-clear{width:24px;height:24px;color:var(--muted);cursor:pointer;opacity:0;pointer-events:none;transition:opacity var(--dur-fast) var(--ease-out), transform var(--dur-base) var(--ease-spring), background-color var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out);background:0 0;border:0;border-radius:50%;flex:none;place-items:center;padding:0;display:grid;transform:scale(.6)}.pp-search.pp-has-value .pp-search-clear{opacity:1;pointer-events:auto;transform:none}.pp-search-clear:hover{background:var(--line);color:var(--ink)}.pp-input{border:1px solid var(--zebra);border-radius:var(--r-sm);background:var(--zebra);height:40px;transition:border-color var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out), background-color var(--dur-fast) var(--ease-out);align-items:center;gap:4px;padding:0 4px 0 12px;display:flex}.pp-input:hover{border-color:var(--line2)}.pp-input:focus-within{border-color:var(--green-ink);background:var(--surface);box-shadow:var(--focus-ring)}.pp-input.pp-is-invalid{border-color:var(--error)}.pp-input.pp-is-invalid:focus-within{box-shadow:0 0 0 3px var(--error-wash)}.pp-input input{min-width:0;height:100%;color:var(--ink);font:inherit;background:0 0;border:0;outline:none;flex:1;padding:0;font-size:14px}.pp-input input:focus-visible{outline:none}.pp-input-mono input{font-family:var(--mono);font-size:13px}.pp-input input::-moz-placeholder{color:var(--muted);-moz-transition:color var(--dur-fast) var(--ease-out);transition:color var(--dur-fast) var(--ease-out)}.pp-input input::placeholder{color:var(--muted);transition:color var(--dur-fast) var(--ease-out)}.pp-input input:focus::placeholder{color:#0000}.pp-field-error{color:var(--error);margin:6px 0 0;font-size:12px;line-height:1.45}.pp-select{display:inline-flex;position:relative}.pp-select-trigger{border:1px solid var(--zebra);border-radius:var(--r-md);background:var(--zebra);height:36px;color:var(--ink);white-space:nowrap;cursor:pointer;transition:border-color var(--dur-fast) var(--ease-out), background-color var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out);align-items:center;gap:6px;padding:0 10px 0 12px;font-size:13px;font-weight:700;display:inline-flex}.pp-select-pill .pp-select-trigger{border-radius:var(--r-pill)}.pp-select-trigger:hover{border-color:var(--line2)}.pp-select-trigger:focus-visible{border-color:var(--green-ink);box-shadow:var(--focus-ring);outline:none}.pp-select-key{color:var(--muted);font-weight:400}.pp-select-values{text-align:left;display:inline-grid}.pp-select-values>span{visibility:hidden;grid-area:1/1}.pp-select-values>span.pp-is-current{visibility:visible}.pp-select-chev{width:14px;height:14px;color:var(--muted);transition:transform var(--dur-base) var(--ease-out), color var(--dur-fast) var(--ease-out)}.pp-select-trigger:hover .pp-select-chev{color:var(--ink)}.pp-select-trigger[aria-expanded=true] .pp-select-chev{transform:rotate(180deg)}.pp-select-panel{z-index:40;border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);min-width:100%;box-shadow:var(--shadow-lg);opacity:0;visibility:hidden;transition:opacity var(--dur-base) var(--ease-out), transform var(--dur-base) var(--ease-out), visibility 0s linear var(--dur-base);padding:12px;position:absolute;top:calc(100% + 6px);left:0;transform:translateY(-6px)}.pp-select.pp-is-open .pp-select-panel{opacity:1;visibility:visible;transition:opacity var(--dur-base) var(--ease-out), transform var(--dur-base) var(--ease-out), visibility 0s;transform:none}.pp-select-list{outline:none;gap:4px;margin:0;padding:0;list-style:none;display:grid}.pp-option{border-radius:var(--r-sm);height:32px;color:var(--ink);white-space:nowrap;cursor:pointer;transition:color var(--dur-fast) var(--ease-out);align-items:center;gap:8px;padding:0 10px 0 12px;font-size:13px;display:flex;position:relative}.pp-option:before{content:"";background:var(--green-ink);width:2px;transition:transform var(--dur-base) var(--ease-out);border-radius:2px;position:absolute;top:7px;bottom:7px;left:0;transform:scaleY(0)}.pp-option:hover,.pp-option.pp-is-focused{color:var(--green-ink)}.pp-option:hover:before,.pp-option.pp-is-focused:before{transform:scaleY(1)}.pp-option-check{width:14px;height:14px;color:var(--green-ink);opacity:0;flex:none}.pp-option[aria-selected=true]{font-weight:700}.pp-option[aria-selected=true] .pp-option-check{opacity:1}.pp-mono{font-family:var(--mono);font-size:12px}.pp-code{color:var(--ink);font-family:var(--mono);font-size:12px}.pp-ro{border-radius:var(--r-pill);background:var(--neutral-bg);height:28px;color:var(--neutral-ink);white-space:nowrap;cursor:default;transition:background-color var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out);align-items:center;gap:6px;padding:0 12px 0 9px;font-size:12px;font-weight:700;line-height:1;text-decoration:none;display:inline-flex}a.pp-ro{cursor:pointer}.pp-ro:hover{background:var(--line);color:var(--ink)}.pp-ro:focus-visible{box-shadow:var(--focus-ring);outline:none}.pp-lock{flex:none;width:14px;height:14px}.pp-lock path,.pp-lock rect{stroke-dasharray:1;stroke-dashoffset:0}.pp-lock rect{animation:pp-draw var(--dur-slow) var(--ease-out) both}.pp-lock path:first-child{animation:pp-draw var(--dur-slow) var(--ease-out) .16s both}.pp-lock path:last-child{animation:pp-draw var(--dur-base) var(--ease-out) .42s both}.pp-acc-panel{visibility:hidden;transition:grid-template-rows var(--dur-base) var(--ease-out), visibility 0s linear var(--dur-base);grid-template-rows:0fr;display:grid}.pp-acc-panel.pp-is-open{visibility:visible;transition:grid-template-rows var(--dur-base) var(--ease-out), visibility 0s linear 0s;grid-template-rows:1fr}.pp-acc-clip{min-height:0;overflow:hidden}.pp-acc-body{opacity:0;transition:opacity var(--dur-fast) var(--ease-out), transform var(--dur-base) var(--ease-out);padding:0 16px 16px;font-size:13px;line-height:1.55;transform:translateY(-4px)}.pp-is-open>.pp-acc-clip>.pp-acc-body{opacity:1;transition-delay:60ms;transform:none}@keyframes pp-nudge{0%,to{transform:none}25%{transform:translate(-3px)}55%{transform:translate(3px)}80%{transform:translate(-1.5px)}}.pp-swapcell{vertical-align:top;justify-items:start;display:inline-grid}.pp-swapcell>span{white-space:nowrap;transition:opacity var(--dur-fast) var(--ease-out), transform var(--dur-base) var(--ease-out);grid-area:1/1}.pp-swapcell>.pp-swap-b{opacity:0;transform:translateY(4px)}.pp-swapcell.pp-is-b>.pp-swap-a{opacity:0;transform:translateY(-4px)}.pp-swapcell.pp-is-b>.pp-swap-b{opacity:1;transform:none}.pp-dz{gap:var(--sp-3);width:100%;display:grid}.pp-dz-zone{min-height:164px;padding:var(--sp-5) var(--sp-4);border:1.5px dashed var(--line2);border-radius:var(--r-lg);background:var(--surface);text-align:center;cursor:pointer;transition:border-color var(--dur-fast) var(--ease-out);flex-direction:column;justify-content:center;align-items:center;gap:6px;display:flex;position:relative}.pp-dz-zone:before{content:"";background:var(--green-wash);opacity:0;pointer-events:none;transition:opacity var(--dur-fast) var(--ease-out);border-radius:14px;position:absolute;inset:0}.pp-dz-zone:after{content:"";border:1.5px solid var(--green);border-radius:var(--r-lg);opacity:0;pointer-events:none;transition:opacity var(--dur-fast) var(--ease-out);position:absolute;inset:-1.5px}.pp-dz-zone>*{z-index:1;position:relative}.pp-dz-zone:hover{border-color:var(--muted)}.pp-dz-is-over .pp-dz-zone,.pp-dz-is-over .pp-dz-zone:hover{border-color:#0000}.pp-dz-is-over .pp-dz-zone:before,.pp-dz-is-over .pp-dz-zone:after{opacity:1}.pp-dz-is-error .pp-dz-zone,.pp-dz-is-error .pp-dz-zone:hover{border-style:solid;border-color:var(--error)}.pp-dz-zone.pp-dz-nudge{animation:pp-nudge .28s var(--ease-out)}.pp-dz-is-disabled .pp-dz-zone{cursor:default;opacity:.55}.pp-dz-icon{background:var(--zebra);width:44px;height:44px;color:var(--muted);transition:transform var(--dur-base) var(--ease-out), box-shadow var(--dur-base) var(--ease-out), background-color var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out);border-radius:50%;place-items:center;margin-bottom:4px;display:grid}.pp-dz-icon svg{width:22px;height:22px}.pp-dz-is-over .pp-dz-icon{background:var(--surface);color:var(--green-ink);box-shadow:var(--shadow-md);transform:translateY(-4px)}.pp-dz-is-error .pp-dz-icon{background:var(--error-wash);color:var(--error)}.pp-dz-title{justify-items:center;font-size:15px;font-weight:700}.pp-dz-sub{color:var(--muted);font-size:13px}.pp-dz-browse{border-radius:var(--r-xs);color:var(--green-ink);text-underline-offset:3px;cursor:pointer;transition:text-decoration-color var(--dur-fast) var(--ease-out);background:0 0;border:0;padding:0;font-weight:700;-webkit-text-decoration:underline #0000;text-decoration:underline #0000}.pp-dz-browse:hover{text-decoration-color:currentColor}.pp-dz-browse:focus-visible{box-shadow:var(--focus-ring);outline:none}.pp-dz-msg{border-radius:var(--r-md);background:var(--error-wash);box-shadow:inset 3px 0 0 var(--error);animation:pp-rise var(--dur-base) var(--ease-out) both;grid-template-columns:18px minmax(0,1fr) auto;align-items:start;gap:10px;padding:10px 8px 10px 14px;display:grid}.pp-dz-msg-icon{height:20px;color:var(--error);place-items:center;display:grid}.pp-dz-msg-icon svg{width:16px;height:16px}.pp-dz-msg-text{min-width:0;font-size:12px;line-height:1.45;display:grid}.pp-dz-msg-file{text-overflow:ellipsis;white-space:nowrap;font-size:13px;line-height:20px;overflow:hidden}.pp-dz-msg-reason{color:var(--error)}.pp-dz-msg-close{width:24px;height:24px;color:var(--muted);cursor:pointer;transition:background-color var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out);background:0 0;border:0;border-radius:50%;place-items:center;padding:0;display:grid}.pp-dz-msg-close:hover{background:var(--surface);color:var(--ink)}.pp-dz-msg-close:focus-visible{box-shadow:var(--focus-ring);outline:none}.pp-fl{align-content:start;gap:var(--sp-3);width:100%;display:grid}.pp-fl-head{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.pp-fl-title{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;font-size:11px;font-weight:700}.pp-fl-sum{font-variant-numeric:tabular-nums;justify-items:end;font-size:13px}.pp-fl-list{border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);box-shadow:var(--shadow-sm);margin:0;padding:0;list-style:none;overflow:hidden}.pp-fl-row{animation:pp-rise var(--dur-base) var(--ease-out) backwards;animation-delay:calc(var(--pp-i,0) * 60ms);transition:grid-template-rows var(--dur-base) var(--ease-out), opacity var(--dur-fast) var(--ease-out);grid-template-rows:1fr;display:grid;position:relative}.pp-fl-row.pp-is-removed{opacity:0;grid-template-rows:0fr}.pp-fl-clip{min-height:0;overflow:hidden}.pp-fl-body{grid-template-columns:32px minmax(0,1fr) auto;align-items:start;gap:12px;padding:12px 10px 13px 12px;display:grid}.pp-fl-icon{border-radius:var(--r-sm);background:var(--zebra);width:32px;height:32px;color:var(--muted);transition:background-color var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out);place-items:center;display:grid}.pp-fl-icon svg{width:18px;height:18px}.pp-fl-is-done .pp-fl-icon{background:var(--green-wash);color:var(--green-ink)}.pp-fl-main{min-width:0}.pp-fl-name{overflow-wrap:anywhere;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:13px;font-weight:700;line-height:1.35;display:-webkit-box;overflow:hidden}.pp-fl-meta{min-height:20px;color:var(--muted);font-variant-numeric:tabular-nums;justify-content:space-between;align-items:center;gap:8px;margin-top:4px;font-size:12px;display:flex}.pp-fl-lines{color:var(--ink);font-weight:700}.pp-fl-badge{border-radius:var(--r-sm);white-space:nowrap;opacity:0;transform-origin:100%;height:20px;transition:opacity var(--dur-fast) var(--ease-out), transform var(--dur-base) var(--ease-spring);align-items:center;padding:0 7px;font-size:11.5px;font-weight:700;display:inline-flex;transform:scale(.6)}.pp-fl-badge-cat{background:var(--info-bg);color:var(--info-ink)}.pp-fl-badge-multi{background:var(--ok-bg);color:var(--ok-ink)}.pp-fl-is-done .pp-fl-badge{opacity:1;transform:none}.pp-fl-remove{border-radius:var(--r-sm);height:28px;color:var(--muted);cursor:pointer;transition:background-color var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out), opacity var(--dur-fast) var(--ease-out);background:0 0;border:0;margin-top:2px;padding:0 8px;font-size:12px;font-weight:700}.pp-fl-remove:hover{background:var(--error-wash);color:var(--error)}.pp-fl-remove:focus-visible{box-shadow:var(--focus-ring);outline:none}.pp-fl-remove:disabled{opacity:0;pointer-events:none}.pp-fl-track{background:var(--line);height:1px;position:absolute;bottom:0;left:0;right:0}.pp-fl-row:last-child .pp-fl-track{background:0 0}.pp-fl-bar{background:var(--green-ink);opacity:0;width:100%;height:2px;transform:scaleX(var(--pp-p,0));transform-origin:0;transition:opacity var(--dur-slow) var(--ease-out) .24s;position:absolute;bottom:0;left:0}.pp-fl-is-parsing .pp-fl-bar{opacity:1;transition:none}:root{--pp-side-w:0px;--tag-edge:#2563eb;--tag-hook:#9333ea;--tag-stand:#0891b2;--tag-other:#64748b;--mark-rail:#0d9488;--mark-clip:#db2777;--mat-glass:#0ea5e9;--mat-metal:#475569;--mat-timber:#a16207;--mat-wire:#7c3aed;--mat-other:#ca8a04;--check:#f6c700;--check-wash:#f6c70038}html[data-input=pointer]{--focus-ring:0 0 0 0 transparent}html[data-input=pointer] :focus-visible{outline:none}html[data-input=pointer] .cv-photo-in:focus-visible,html[data-input=pointer] .cv-selhit:focus-visible{box-shadow:none}@media (hover:none),(pointer:coarse){.pp-toasts{top:calc(env(safe-area-inset-top) + var(--sp-3));bottom:auto}}.pr-counter{gap:6px;display:grid}.pr-counter-head{align-items:center;gap:var(--sp-2);display:flex}.pr-counter-label{font-size:13px;font-weight:700}.pr-src{letter-spacing:.04em;text-transform:uppercase;border-radius:var(--r-pill);padding:1px 6px;font-size:10px;font-weight:700}.pr-src-ai{color:var(--info-ink);background:var(--info-bg)}.pr-src-manual{color:var(--warn);background:var(--warn-wash)}.pr-src-rule{color:var(--neutral-ink);background:var(--neutral-bg)}.pr-counter-row{grid-template-columns:44px minmax(56px,1fr) repeat(3,48px);gap:6px;display:grid}.pr-step{border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface);height:44px;color:var(--ink);font-size:15px;font-weight:700}.pr-step:active:not(:disabled){background:var(--green-wash)}.pr-step:disabled{opacity:.4}.pr-counter-num{border:1px solid var(--line2);border-radius:var(--r-sm);text-align:center;font-variant-numeric:tabular-nums;background:var(--surface);min-width:0;height:44px;font-size:18px;font-weight:700}.pr-counter-num:focus{box-shadow:var(--focus-ring);outline:none}.pr-shutter{border:4px solid var(--surface);background:var(--green);width:72px;height:72px;box-shadow:0 0 0 2px var(--green-d), var(--shadow-md);color:var(--ink);border-radius:50%;place-items:center;display:grid}.pr-shutter:active{transform:scale(.94)}.pr-store-card{align-items:center;gap:var(--sp-3);width:100%;padding:var(--sp-4);background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);color:var(--ink);cursor:pointer;transition:border-color var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out);display:flex}.pr-store-card:hover{border-color:var(--line2);box-shadow:var(--shadow-sm)}.pr-store-icon{border-radius:var(--r-sm);background:var(--green-wash);width:40px;height:40px;color:var(--green-ink);flex:none;place-items:center;display:grid}.pr-is-video .pr-store-icon{background:var(--info-bg);color:var(--info-ink)}.pr-store-kind{padding:1px var(--sp-2);border-radius:var(--r-pill);background:var(--green-wash);color:var(--green-ink);letter-spacing:.02em;text-transform:uppercase;font-size:11px;font-weight:700}.pr-is-video .pr-store-kind{background:var(--info-bg);color:var(--info-ink)}.pr-bay-empty rect,.pr-map-key.pr-bay-empty{fill:var(--page);stroke:var(--line2)}.pr-bay-waiting rect,.pr-map-key.pr-bay-waiting,.pr-bay-processing rect,.pr-map-key.pr-bay-processing{fill:var(--neutral-bg);stroke:var(--neutral-ink)}.pr-bay-processing rect{animation:pr-pulse 1.1s var(--ease-in-out) infinite alternate}.pr-bay-done rect,.pr-map-key.pr-bay-done{fill:var(--green-wash);stroke:var(--green-d)}.pr-bay-check rect,.pr-map-key.pr-bay-check{fill:var(--check-wash);stroke:#b89400}.pr-bay-retake rect,.pr-map-key.pr-bay-retake{fill:var(--error-wash);stroke:var(--error)}@keyframes pr-pulse{0%{fill-opacity:1}to{fill-opacity:.35}}.pr-map-legend{gap:var(--sp-2) var(--sp-4);color:var(--muted);flex-wrap:wrap;font-size:12px;display:flex}.pr-map-key{background:var(--page);border:2px solid;border-radius:3px;width:12px;height:12px;display:inline-block}.pr-map-key.pr-bay-empty{background:var(--page);border-color:var(--line2)}.pr-map-key.pr-bay-waiting,.pr-map-key.pr-bay-processing{background:var(--neutral-bg);border-color:var(--neutral-ink)}.pr-map-key.pr-bay-done{background:var(--green-wash);border-color:var(--green-d)}.pr-map-key.pr-bay-check{background:var(--check-wash);border-color:#b89400}.pr-map-key.pr-bay-retake{background:var(--error-wash);border-color:var(--error)}.pr-review{gap:var(--sp-5);display:grid}@media (width>=900px){.pr-review{grid-template-columns:minmax(0,1.25fr) minmax(300px,1fr);align-items:start}}.pr-review-numbers{gap:var(--sp-4);display:grid}.pr-fits{gap:var(--sp-2);padding-top:var(--sp-3);border-top:1px solid var(--line);margin:0;display:grid}.pr-fit{justify-content:space-between;align-items:center;gap:var(--sp-3);display:flex}.pr-fit dt{align-items:center;gap:var(--sp-2);color:var(--ink);font-size:14px;display:flex}.pr-fit dd{font-variant-numeric:tabular-nums;margin:0;font-size:16px;font-weight:700}.pr-fit-sub{margin-left:var(--sp-2);color:var(--muted);font-size:12px;font-weight:400}.pr-fit-mark{flex:none;width:18px}.pr-fit-hook{border:2px solid var(--tag-hook);border-radius:3px;height:12px}.pr-fit-rail{background:var(--mark-rail);opacity:.6;border-radius:3px;height:5px}.pr-fit-mat-glass,.pr-fit-mat-metal,.pr-fit-mat-timber,.pr-fit-mat-wire,.pr-fit-mat-other{opacity:.6;border-radius:3px;height:12px}.pr-fit-mat-glass{background:var(--mat-glass)}.pr-fit-mat-metal{background:var(--mat-metal)}.pr-fit-mat-timber{background:var(--mat-timber)}.pr-fit-mat-wire{background:var(--mat-wire)}.pr-fit-mat-other{background:var(--mat-other)}.pr-fit-clip{background:radial-gradient(circle, var(--mark-clip) 4.5px, transparent 5px);height:10px}.pr-review-bar{gap:var(--sp-2);padding:var(--sp-3) 0 calc(var(--sp-3) + env(safe-area-inset-bottom));background:var(--surface);border-top:1px solid var(--line);display:flex;position:sticky;bottom:0}.pr-pz{background:var(--zebra);width:100%;position:relative;overflow:hidden}.pr-pz-none{color:var(--muted);pointer-events:none;place-items:center;margin:0;font-size:14px;font-weight:600;display:grid;position:absolute;inset:0}.pr-pz-world{transform-origin:0 0;position:absolute;top:0;left:0}.pr-pz-world.pr-is-anim{transition:transform .28s var(--ease-out)}.pr-pz-on,.pr-pz-edit{touch-action:none;-webkit-user-select:none;user-select:none}.pr-pz-edit{cursor:crosshair}.pr-pz-on.pr-is-zoomed:not(.pr-pz-edit){cursor:grab}.pr-pz-fill{background:0 0;height:100%;position:absolute;inset:0}.pr-pz-reset{top:var(--sp-2);right:var(--sp-2);z-index:2;background:color-mix(in srgb, var(--surface) 92%, transparent);width:36px;height:36px;color:var(--ink);box-shadow:var(--shadow-md);cursor:pointer;border:0;border-radius:50%;place-items:center;padding:0;display:grid;position:absolute}.pr-pz-reset:focus-visible{box-shadow:var(--focus-ring), var(--shadow-md);outline:none}.pr-zm{touch-action:none;-webkit-user-select:none;user-select:none;background:var(--zebra);border-radius:var(--r-sm);cursor:grab;width:100%;min-height:300px;max-height:72vh;position:relative;overflow:hidden}.pr-zm:active{cursor:grabbing}.pr-zm-world{transform-origin:0 0;will-change:transform;position:absolute;top:0;left:0}.pr-zm-world.pr-is-anim{transition:transform .26s var(--ease-out)}.pr-zm-world img,.pr-zm-world svg{width:100%;height:100%;position:absolute;inset:0}.pr-zm-world img{pointer-events:none;filter:grayscale()contrast(.85);opacity:.55}.pr-zm-bay{cursor:pointer}.pr-zm-bay:focus{outline:none}.pr-zm-bay rect{stroke-width:calc(var(--zm-px) * 2);fill-opacity:.6}.pr-zm-bay.pr-bay-empty rect{fill:var(--surface);fill-opacity:.2;stroke:var(--ink);stroke-opacity:.5;stroke-dasharray:calc(var(--zm-px) * 4) calc(var(--zm-px) * 3)}.pr-zm-bay.pr-is-sel rect,.pr-zm-bay:focus-visible rect{stroke:var(--ink);stroke-opacity:1;stroke-dasharray:none;stroke-width:calc(var(--zm-px) * 4)}.pr-zm-area,.pr-zm-id{fill:var(--ink);font-weight:700}.pr-zm-count{fill:var(--green-ink);font-variant-numeric:tabular-nums;font-weight:700}.pr-zm-wrap{gap:var(--sp-2);display:grid}.pr-zm-fill{flex-direction:column;flex:0 auto;min-height:0;display:flex}.pr-zm-fill .pr-zm{flex:0 auto;min-height:240px;max-height:none}.pr-zm-ctrl{justify-content:flex-end;gap:6px;display:flex}.pr-zm-btn{border:1px solid var(--line2);border-radius:var(--r-sm);background:var(--surface);width:44px;height:44px;color:var(--ink);cursor:pointer;place-items:center;font-size:22px;font-weight:700;line-height:1;display:grid}.pr-zm-total rect{fill:var(--surface);stroke:var(--green-d);stroke-width:calc(var(--zm-px) * 1.5)}.pr-zm-total text{fill:var(--green-ink);font-variant-numeric:tabular-nums;font-weight:700}.pointer-events-none{pointer-events:none}.visible{visibility:visible}.invisible{visibility:hidden}.absolute{position:absolute}.sticky{position:sticky}.inset-0{inset:0}.m-0{margin:0}.ml-auto{margin-left:auto}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.block{display:block}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.contents{display:contents}.\!hidden{display:none!important}.hidden{display:none}.h-full{height:100%}.w-full{width:100%}.min-w-0{min-width:0}.flex-1{flex:1}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.transform{transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.select-none{-webkit-user-select:none;user-select:none}.resize{resize:both}.list-disc{list-style-type:disc}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.gap-0\.5{gap:.125rem}.gap-1\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.space-y-1\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.375rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.375rem * var(--tw-space-y-reverse))}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.rounded{border-radius:.25rem}.rounded-\[var\(--r-md\)\]{border-radius:var(--r-md)}.border{border-width:1px}.border-\[var\(--error\)\]{border-color:var(--error)}.bg-\[var\(--error-wash\)\]{background-color:var(--error-wash)}.p-4{padding:1rem}.pl-5{padding-left:1.25rem}.text-left{text-align:left}.text-\[12px\]{font-size:12px}.text-\[13px\]{font-size:13px}.text-\[14px\]{font-size:14px}.text-\[16px\]{font-size:16px}.font-bold{font-weight:700}.uppercase{text-transform:uppercase}.leading-snug{line-height:1.375}.text-\[var\(--error\)\],.text-error{color:var(--error)}.text-muted{color:var(--muted)}.text-warn{color:var(--warn)}.outline{outline-style:solid}.ring{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow,0 0 #0000)}.blur{--tw-blur:blur(8px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter,backdrop-filter;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-opacity{transition-property:opacity;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.duration-base{transition-duration:var(--dur-base)}.duration-fast{transition-duration:var(--dur-fast)}.ease-out{transition-timing-function:var(--ease-out)}.\[grid-area\:1\/1\]{grid-area:1/1}.marker\:text-muted ::marker{color:var(--muted)}.marker\:text-muted::marker{color:var(--muted)}.\[\&_tbody_tr\:nth-child\(2\)\]\:\[animation-delay\:90ms\] tbody tr:nth-child(2){animation-delay:90ms}.\[\&_tbody_tr\:nth-child\(3\)\]\:\[animation-delay\:120ms\] tbody tr:nth-child(3){animation-delay:.12s}.\[\&_tbody_tr\:nth-child\(4\)\]\:\[animation-delay\:150ms\] tbody tr:nth-child(4){animation-delay:.15s}.\[\&_tbody_tr\:nth-child\(5\)\]\:\[animation-delay\:180ms\] tbody tr:nth-child(5){animation-delay:.18s}.\[\&_tbody_tr\:nth-child\(6\)\]\:\[animation-delay\:210ms\] tbody tr:nth-child(6){animation-delay:.21s}.\[\&_tbody_tr\:nth-child\(7\)\]\:\[animation-delay\:240ms\] tbody tr:nth-child(7){animation-delay:.24s}.\[\&_tbody_tr\:nth-child\(8\)\]\:\[animation-delay\:270ms\] tbody tr:nth-child(8){animation-delay:.27s}.\[\&_tbody_tr\:nth-child\(n\+9\)\]\:\[animation-delay\:300ms\] tbody tr:nth-child(n+9){animation-delay:.3s}.\[\&_tbody_tr\]\:\[animation\:pp-rise_var\(--dur-base\)_var\(--ease-out\)_60ms_backwards\] tbody tr{animation:pp-rise var(--dur-base) var(--ease-out) 60ms backwards}.pl-root{min-height:100dvh;color:var(--ink);font-size:13px;line-height:1.45}.pl-wm{font-family:var(--font);white-space:nowrap;font-size:18px;font-weight:700;line-height:1;display:inline-block}.pl-wm-lg{font-size:26px}.pl-wm-f{color:var(--green)}.pl-wm-s{color:var(--logo-grey)}.pl-ms{--ms-red:#f25022;--ms-green:#7fba00;--ms-blue:#00a4ef;--ms-yellow:#ffb900;--ms-text:#5e5e5e;--ms-border:#8c8c8c;--ms-fill:#fff;--ms-font:"Segoe UI Semibold", "Segoe UI", system-ui, -apple-system, BlinkMacSystemFont, sans-serif;border:1px solid var(--ms-border);background:var(--ms-fill);width:100%;min-height:44px;color:var(--ms-text);font-family:var(--ms-font);text-align:left;cursor:pointer;transition:background-color var(--dur-fast) var(--ease-out);border-radius:0;align-items:center;gap:12px;margin:0;padding:0 12px;font-size:15px;font-weight:600;line-height:1.2;display:flex}.pl-ms:hover{background:color-mix(in srgb, var(--ms-border) 12%, var(--ms-fill))}.pl-ms:active{background:color-mix(in srgb, var(--ms-border) 22%, var(--ms-fill))}.pl-ms-dark{--ms-text:#fff;--ms-border:#2f2f2f;--ms-fill:#2f2f2f}.pl-ms-dark:hover{background:color-mix(in srgb, #fff 10%, var(--ms-fill))}.pl-ms-dark:active{background:color-mix(in srgb, #fff 18%, var(--ms-fill))}.pl-ms:disabled{background:var(--ms-fill);cursor:progress}.pl-ms-logo{flex:none;display:block}.pl-ms-block{gap:var(--sp-2);display:grid}.pl-ms-note{color:var(--muted);margin:0;font-size:13px}.pn-top{line-height:1;position:relative}.pn-foot{color:var(--muted);margin:0;font-size:11px;position:relative}.pn-scan{padding:var(--sp-5) var(--sp-5) calc(var(--sp-4) + env(safe-area-inset-bottom));background:var(--surface);grid-template-rows:auto 1fr auto;display:grid}.pn-scan-main{justify-content:center;align-items:center;display:flex}.pn-scan-col{width:min(420px,100%)}.pn-scan-hero{margin-top:36px;position:relative}.pn-scan-count{z-index:3;border:1px solid var(--line);background:var(--surface);color:var(--muted);font-variant-numeric:tabular-nums;border-radius:999px;margin:0;padding:5px 11px;font-size:13px;line-height:1;transition:background-color .2s,border-color .2s;position:absolute;top:-36px;right:0}.pn-scan-count b{color:var(--ink)}.pn-scan-count.pn-is-done{background:var(--green);border-color:var(--green);color:var(--ink)}.pn-scan-plan{width:100%;height:auto;display:block;overflow:visible}.pn-scan-wall{fill:none;stroke:var(--line);stroke-width:1.2px}.pn-scan-door{fill:var(--surface)}.pn-scan-bay{fill:var(--surface);stroke:color-mix(in srgb, var(--line) 70%, var(--surface));stroke-width:1px;transition:fill .6s,stroke .6s}.pn-scan-bay.pn-is-on{fill:var(--green-wash);stroke:var(--green);transition:none}.pn-scan-cam{fill:var(--ink);opacity:0;transition:opacity .6s}.pn-scan-cam.pn-is-on{opacity:1;transition:none}.pn-scan-lens{fill:var(--surface)}.pn-scan-corners{fill:none;stroke:var(--ink);stroke-width:1.8px}.pn-scan-veil{background:linear-gradient(to bottom, transparent, color-mix(in srgb, var(--surface) 92%, transparent) 25%, color-mix(in srgb, var(--surface) 92%, transparent) 75%, transparent);height:128px;position:absolute;top:50%;left:0;right:0;transform:translateY(-50%)}.pn-scan-line{z-index:2;background:var(--green);width:2px;box-shadow:0 0 14px 3px color-mix(in srgb, var(--green) 45%, transparent);margin-left:-1px;position:absolute;top:-10px;bottom:-10px}.pn-scan-over{position:absolute;top:50%;left:0;right:0;transform:translateY(-50%)}.pn-scan-name{font-family:var(--font);letter-spacing:-.025em;margin:0;padding:0 22px;font-size:40px;font-weight:700;line-height:1.05;position:relative}.pn-scan-ghost{color:color-mix(in srgb, var(--ink) 14%, var(--surface))}.pn-scan-ink{padding:0 22px;position:absolute;inset:0}.pn-scan-sub{margin:var(--sp-3) 0 0;color:var(--muted);padding:0 22px;font-size:17px;line-height:1.4}.pn-scan-act{margin-top:var(--sp-6)}.pn-scan-notice{margin-top:var(--sp-3);animation:pp-nudge .28s var(--ease-out)}@media (width>=900px){.pn-scan{padding:var(--sp-6) var(--sp-7)}.pn-scan-name{font-size:46px}}.pn-pin{gap:var(--sp-2);display:grid}.pn-pin-label{color:var(--muted);font-size:13px;font-weight:600}.pn-pin-row{gap:var(--sp-2);display:flex}.pn-pin-input{width:0;min-width:0;height:48px;padding:0 var(--sp-4);border:1px solid var(--line-strong,#c9c9c9);border-radius:var(--r-md);background:var(--surface,#fff);color:var(--ink);letter-spacing:.18em;transition:border-color var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out);outline:none;flex:1;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:22px;font-weight:700}.pn-pin-input::placeholder{color:var(--muted);font-family:var(--font);letter-spacing:0;font-size:15px;font-weight:500}.pn-pin-input:focus{border-color:var(--green);box-shadow:0 0 0 3px #97d70040}.pn-pin-input[aria-invalid=true]{border-color:var(--danger,#d93025)}.pn-pin-go{height:48px}.pn-pin-note{color:var(--ink);text-align:center;margin:0;font-size:15px}.cv-root{--cv-side:0px;--cv-gut:var(--sp-4);--cv-top:var(--sp-1);min-height:100vh}.cv-root.cv-is-medium{--cv-side:50%}.cv-root.cv-is-expanded{--cv-side:max(400px, 36%);--cv-gut:var(--sp-5);--cv-top:var(--sp-3)}.cv-list{gap:var(--sp-4);max-width:640px;padding:var(--sp-5) var(--sp-4);margin:0 auto;display:grid}.cv-layout{grid-template-columns:minmax(0,1fr);display:grid}.cv-is-medium .cv-layout,.cv-is-expanded .cv-layout{grid-template-columns:minmax(0, 1fr) var(--cv-side);align-items:start}.cv-root.cv-no-side{--cv-side:0px}.cv-no-side .cv-layout{grid-template-columns:minmax(0,1fr)}.cv-board{align-content:start;gap:var(--sp-4);min-width:0;padding:var(--cv-top) var(--cv-gut) calc(var(--pp-bar-h,0px) + var(--sp-6));display:grid}.cv-side{align-content:start;gap:var(--sp-4);overscroll-behavior:contain;min-width:0;height:100vh;padding:var(--sp-4);background:var(--surface);border-left:1px solid var(--line);display:grid;position:sticky;top:0;overflow-y:auto}.cv-side.cv-is-detail{padding:0 var(--sp-4);display:block}.cv-side:not(.cv-is-detail){flex-direction:column;display:flex}.cv-side .cv-map{flex-direction:column;flex:0 auto;min-height:0;display:flex}.cv-side .cv-baypick{flex:none}.cv-head{gap:var(--sp-1);display:grid}.cv-back{height:44px;padding:0 var(--sp-2) 0 0;color:var(--muted);cursor:pointer;background:0 0;border:0;justify-self:start;align-items:center;gap:6px;font-size:14px;font-weight:700;display:inline-flex}.cv-back:hover{color:var(--ink)}.cv-flip{transform:scaleX(-1)}.cv-titlerow{justify-content:space-between;align-items:center;gap:var(--sp-3);min-height:44px;display:flex}.cv-titlerow-end{align-items:center;gap:var(--sp-2);flex:none;display:flex}.cv-titlerow-end>.cv-textbtn:not(:last-child){margin-right:0}.cv-titleblock{gap:2px;min-width:0;display:grid}.cv-count{color:var(--muted);font-variant-numeric:tabular-nums;margin:0;font-size:14px}.cv-h1{letter-spacing:-.01em;min-width:0;margin:0;font-size:26px;font-weight:700;line-height:1.15}.cv-h2{margin:0;font-size:18px;font-weight:700}.cv-textbtn{height:44px;margin-right:calc(var(--sp-2) * -1);padding:0 var(--sp-2);border-radius:var(--r-sm);color:var(--ink);cursor:pointer;background:0 0;border:0;flex:none;font-size:15px;font-weight:700}.cv-textbtn:hover{background:var(--zebra)}.cv-pagerow{align-items:center;gap:var(--sp-2);margin-top:var(--sp-2);display:flex}.cv-seg.pp-seg{flex:1;min-width:0;display:flex}.cv-views{border-radius:var(--r-pill);background:var(--zebra);flex:none;gap:2px;padding:4px;display:flex}.cv-view{height:44px;padding:0 var(--sp-4);border-radius:var(--r-pill);color:var(--neutral-ink);white-space:nowrap;cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;gap:6px;font-size:14px;font-weight:700;display:inline-flex}.cv-view[aria-checked=true]{background:var(--ink);color:var(--surface);box-shadow:var(--shadow-sm)}.cv-view:focus-visible{box-shadow:var(--focus-ring);outline:none}.cv-seg .pp-seg-opt{flex:1;justify-content:center;height:44px;font-size:14px}.cv-seg .pp-seg-thumb{height:44px}.cv-is-medium .cv-pagerow,.cv-is-expanded .cv-pagerow{margin-top:var(--sp-3)}.cv-is-medium .cv-seg.pp-seg,.cv-is-expanded .cv-seg.pp-seg{flex:none}.cv-is-medium .cv-view,.cv-is-expanded .cv-view{height:40px}.cv-is-medium .cv-seg .pp-seg-opt,.cv-is-expanded .cv-seg .pp-seg-opt{min-width:120px;height:40px}.cv-is-medium .cv-seg .pp-seg-thumb,.cv-is-expanded .cv-seg .pp-seg-thumb{height:40px}.cv-is-medium .cv-report{grid-template-columns:repeat(2,minmax(0,1fr))}.cv-is-medium .cv-maptab .pr-zm,.cv-is-expanded .cv-maptab .pr-zm{max-height:max(320px,100vh - 340px)}.cv-none{padding:var(--sp-6) 0;color:var(--muted);text-align:center;margin:0;font-size:14px}.cv-meta{color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap;margin:0;font-size:13px}.pp-btn.cv-btn{height:44px;padding:0 var(--sp-4);font-size:14px}.cv-on .pp-sheet-actions .pp-btn{height:44px}.cv-report{gap:var(--sp-3);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.cv-rcard-wide{grid-column:1/-1;grid-template-rows:none;grid-template-columns:minmax(0,1fr) minmax(0,3fr)}.cv-rcard-wide .cv-rcard-art{border-bottom:0;border-right:1px solid var(--line);align-items:center;display:flex}.cv-rcard{border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);grid-template-rows:auto 1fr;min-width:0;display:grid;overflow:hidden}.cv-rcard-art{padding:var(--sp-3) var(--sp-4) var(--sp-2);background:linear-gradient(180deg, var(--page) 0%, var(--surface) 100%);border-bottom:1px solid var(--line)}.cv-rcard-art svg{width:100%;max-width:220px;height:auto;margin:0 auto;display:block}.cv-rcard-body{padding:var(--sp-3) var(--sp-4) var(--sp-4);align-content:start;gap:2px;display:grid}.cv-rcard-label{color:var(--muted);margin:0;font-size:13px;font-weight:700}.cv-rcard-n{align-items:baseline;gap:var(--sp-2);letter-spacing:-.02em;font-variant-numeric:tabular-nums;margin:0;font-size:40px;font-weight:700;line-height:1.1;display:flex}.cv-rcard-sub{color:var(--muted);letter-spacing:0;font-size:13px;font-weight:600}.cv-rcard-rule{margin:var(--sp-1) 0 0;color:var(--muted);font-size:12px;line-height:1.35}.cv-add{gap:var(--sp-2);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.cv-addbtn{justify-content:center;align-items:center;gap:var(--sp-2);min-width:0;height:48px;padding:0 var(--sp-3);border-radius:var(--r-sm);background:var(--surface);box-shadow:var(--shadow-sm);color:var(--ink);white-space:nowrap;cursor:pointer;transition:box-shadow var(--dur-fast) var(--ease-out), transform var(--dur-fast) var(--ease-out);border:0;font-size:14px;font-weight:700;display:inline-flex}.cv-addbtn .pp-icon{color:var(--muted);flex:none}.cv-addbtn.cv-is-main .pp-icon{color:var(--green-ink)}.cv-addbtn:hover{box-shadow:var(--shadow-md)}.cv-addbtn:active{transform:scale(.98)}.cv-add-sm .cv-addbtn{height:44px;font-size:13px}.cv-side .cv-addbtn{background:var(--zebra);box-shadow:none}.cv-side .cv-addbtn:hover{background:var(--line)}.cv-add.cv-is-one{grid-template-columns:minmax(0,1fr)}.cv-tools{align-items:center;gap:var(--sp-2);flex-wrap:wrap;display:flex}.cv-tools-end{align-items:center;margin-left:auto;display:flex}.cv-addcell{aspect-ratio:1;min-width:0;padding:var(--sp-3);border:1.5px dashed var(--line2);background:var(--surface);color:var(--ink);text-align:center;cursor:pointer;transition:border-color var(--dur-fast) var(--ease-out), background-color var(--dur-fast) var(--ease-out);flex-direction:column;justify-content:center;align-items:center;gap:6px;display:flex}.cv-is-medium .cv-addcell,.cv-is-expanded .cv-addcell{border-radius:var(--r-md)}.cv-addcell-icon{background:var(--zebra);width:44px;height:44px;color:var(--muted);transition:background-color var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out), transform var(--dur-base) var(--ease-out);border-radius:50%;place-items:center;margin-bottom:4px;display:grid}.cv-addcell-title{font-size:14px;font-weight:700}.cv-addcell-hint{color:var(--muted);font-size:12px}.cv-addcell:hover{border-color:var(--muted)}.cv-addcell:hover .cv-addcell-icon{background:var(--green);color:var(--ink)}.cv-addcell.cv-is-over{border-style:solid;border-color:var(--green);background:var(--green-wash)}.cv-addcell.cv-is-over .cv-addcell-icon{background:var(--green);color:var(--ink);transform:translateY(-3px)}.cv-addcell:disabled{opacity:.4;cursor:default}.cv-addcell:disabled:hover{border-color:var(--line2)}.cv-addcell:disabled:hover .cv-addcell-icon{background:var(--zebra);color:var(--muted)}.cv-board.cv-is-over{box-shadow:inset 0 0 0 2px var(--green)}.cv-chips{gap:var(--sp-1);margin:calc(var(--sp-2) * -1) calc(var(--cv-gut) * -1) calc(var(--sp-2) * -1);padding:0 var(--cv-gut);scrollbar-width:none;display:flex;overflow-x:auto}.cv-chips::-webkit-scrollbar{display:none}.cv-chips.cv-has-more{-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 48px),#0000);mask-image:linear-gradient(90deg,#000 calc(100% - 48px),#0000)}.cv-chip{cursor:pointer;background:0 0;border:0;flex:none;align-items:center;height:44px;padding:0;display:inline-flex}.cv-chip-in{border-radius:var(--r-pill);background:var(--zebra);height:34px;color:var(--ink);white-space:nowrap;align-items:center;gap:6px;padding:0 14px;font-size:13px;font-weight:700;display:inline-flex}.cv-chip-n{color:var(--muted);font-variant-numeric:tabular-nums}.cv-chip.cv-is-warn .cv-chip-n{color:var(--warn)}.cv-chip[aria-pressed=true] .cv-chip-in{background:var(--ink);color:var(--surface)}.cv-chip[aria-pressed=true] .cv-chip-n{color:var(--line2)}.cv-chip[aria-pressed=true].cv-is-warn .cv-chip-n{color:color-mix(in srgb, var(--warn) 45%, var(--surface))}.cv-sec{gap:var(--sp-2);display:grid}.cv-sec-head{justify-content:space-between;align-items:baseline;gap:var(--sp-3);min-width:0;display:flex}.cv-sec-label{min-width:0;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:700;overflow:hidden}.cv-sec-n{font-variant-numeric:tabular-nums;margin-left:6px;font-weight:400}.cv-gallery{margin:0 calc(var(--cv-gut) * -1);grid-template-columns:repeat(3,minmax(0,1fr));gap:2px;display:grid}.cv-is-medium .cv-gallery,.cv-is-expanded .cv-gallery{gap:var(--sp-2);grid-template-columns:repeat(auto-fill,minmax(220px,1fr));margin:0}.cv-is-medium .cv-tile,.cv-is-expanded .cv-tile{border-radius:var(--r-md)}.cv-is-medium .cv-photo,.cv-is-expanded .cv-photo{border-radius:inherit}.cv-tile{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;min-width:0;position:relative}.cv-photo{aspect-ratio:1;background:var(--zebra);position:relative;overflow:hidden}.cv-photo-in{-webkit-tap-highlight-color:transparent;background:0 0;border:0;width:100%;padding:0;display:block;position:absolute;inset:0}button.cv-photo-in{cursor:zoom-in}.cv-frame{position:absolute;inset:0;overflow:hidden}.cv-fit{transition:opacity var(--dur-base) var(--ease-out);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.cv-fit-sized svg circle{r:var(--cv-r);stroke-width:calc(var(--cv-r) / 3.5)}.cv-fit-sized svg rect{stroke-width:calc(var(--cv-r) / 2.4)}.cv-fit-sized svg line{stroke-width:calc(var(--cv-r) * 1.2)}.cv-fit-sized svg line.pr-norail{stroke-dasharray:calc(var(--cv-r) * 2) calc(var(--cv-r) * 1.5)}.cv-nopic{color:var(--muted);place-items:center;font-size:13px;font-weight:600;display:grid;position:absolute;inset:0}.cv-cover{-o-object-fit:cover;object-fit:cover;width:100%;height:100%;transition:opacity var(--dur-base) var(--ease-out);position:absolute;inset:0}.cv-is-uploading .cv-fit,.cv-is-uploading .cv-cover{opacity:.6}.cv-veil{background:color-mix(in srgb, var(--surface) 45%, transparent);pointer-events:none;position:absolute;inset:0}.cv-scan{pointer-events:none;position:absolute;inset:0;overflow:hidden}.cv-scan-sweep{background:color-mix(in srgb, var(--green) 14%, transparent);height:0;animation:1.6s linear infinite cv-scan;position:absolute;top:0;left:0;right:0}.cv-scan-sweep:after{content:"";background:var(--green);height:2px;box-shadow:0 0 14px 3px color-mix(in srgb, var(--green) 45%, transparent);position:absolute;bottom:-1px;left:0;right:0}@keyframes cv-scan{0%{height:0}to{height:100%}}.cv-is-fresh .cv-fit svg circle{animation:cv-fade .3s var(--ease-out) both}.cv-badges{z-index:1;pointer-events:none;flex-wrap:wrap;align-items:center;gap:4px;display:flex;position:absolute;top:6px;left:6px;right:32px}.cv-badge{border-radius:var(--r-pill);white-space:nowrap;flex:none;align-items:center;height:22px;padding:0 8px;font-size:11.5px;font-weight:700;display:inline-flex}.cv-badge-grey{background:color-mix(in srgb, var(--surface) 92%, transparent);color:var(--neutral-ink)}.cv-badge-retake{background:var(--error);color:var(--surface)}.cv-badge-check{background:var(--check);color:var(--ink)}.cv-badge-plain{background:var(--surface);color:var(--ink)}.cv-badges .cv-badge{box-shadow:var(--shadow-sm)}.cv-mark{border-radius:var(--r-pill);height:22px;box-shadow:var(--shadow-sm);white-space:nowrap;flex:none;align-items:center;gap:4px;padding:0 8px;font-size:11.5px;font-weight:700;display:inline-flex}.cv-mark svg{margin-left:-2px}.cv-mark-done{background:var(--green);color:var(--ink)}.cv-mark-check{background:var(--check);color:var(--ink)}.cv-mark-retake{background:var(--error);color:var(--surface)}.cv-mark-waiting{background:var(--surface);color:var(--ink)}.cv-strip{z-index:1;justify-content:space-between;align-items:flex-end;gap:var(--sp-1);height:56px;padding-right:var(--sp-2);background:linear-gradient(to top, color-mix(in srgb, var(--ink) 82%, transparent), color-mix(in srgb, var(--ink) 50%, transparent) 50%, transparent);color:var(--surface);text-shadow:0 1px 2px color-mix(in srgb, var(--ink) 60%, transparent);pointer-events:none;display:flex;position:absolute;bottom:0;left:0;right:0}.cv-bay{min-width:0;height:44px;padding:0 var(--sp-2) 7px;color:var(--surface);text-align:left;cursor:pointer;pointer-events:auto;background:0 0;border:0;align-items:flex-end;font-size:13px;font-weight:700;display:flex}.cv-bay.cv-is-none{color:color-mix(in srgb, var(--surface) 72%, transparent);font-weight:400}.cv-strip-n{font-variant-numeric:tabular-nums;flex:none;margin-left:auto;padding-bottom:7px;font-size:15px;font-weight:700;line-height:1.25}.cv-selhit{z-index:3;border-radius:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:0;padding:0;position:absolute;inset:0}.cv-tick{border:2px solid var(--surface);background:color-mix(in srgb, var(--ink) 22%, transparent);width:26px;height:26px;box-shadow:var(--shadow-sm);color:var(--surface);border-radius:50%;place-items:center;display:grid;position:absolute;top:6px;right:6px}.cv-selhit[aria-pressed=true] .cv-tick{background:var(--ink)}.cv-tile.cv-is-sel .cv-photo:after,.cv-tile.cv-is-current .cv-photo:after{content:"";border-radius:inherit;z-index:2;box-shadow:inset 0 0 0 3px var(--ink);pointer-events:none;position:absolute;inset:0}.cv-tile.cv-is-sel .cv-photo:after{background:color-mix(in srgb, var(--surface) 24%, transparent)}.cv-selbar{align-items:center;gap:var(--sp-1);background:var(--surface);display:flex}.cv-selbar-n{min-width:0;padding-left:var(--sp-1);white-space:nowrap;font-variant-numeric:tabular-nums;flex:auto;font-size:15px;font-weight:700}.cv-selbar.cv-is-bottom{z-index:30;padding:var(--sp-2) var(--sp-3) calc(var(--sp-2) + env(safe-area-inset-bottom));border-top:1px solid var(--line);box-shadow:var(--shadow-md);animation:cv-rise var(--dur-base) var(--ease-out);position:fixed;bottom:0;left:0;right:0}.cv-selbar.cv-is-top{z-index:20;margin:calc(var(--cv-top) * -1) calc(var(--cv-gut) * -1) 0;padding:var(--sp-2) var(--cv-gut);border-bottom:1px solid var(--line);animation:cv-drop var(--dur-base) var(--ease-out);position:sticky;top:0}.cv-selbar-done{margin-right:0}.cv-qbtn{height:44px;padding:0 var(--sp-3);border-radius:var(--r-sm);background:var(--zebra);color:var(--ink);white-space:nowrap;cursor:pointer;border:0;flex:none;align-items:center;gap:6px;font-size:13px;font-weight:700;display:inline-flex}.cv-qbtn:not(:disabled):hover{background:var(--line)}.cv-qbtn:disabled{opacity:.4;cursor:default}.cv-is-medium .cv-qbtn .pp-icon{display:none}.cv-abar{z-index:30;align-items:center;gap:var(--sp-3);padding:var(--sp-3) var(--sp-4) calc(var(--sp-3) + env(safe-area-inset-bottom));background:color-mix(in srgb, var(--surface) 94%, transparent);border-top:1px solid var(--line);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);display:grid;position:fixed;bottom:0;left:0;right:0}.cv-abar.cv-is-slim{justify-content:flex-end;display:flex}.cv-abar-lib{min-width:64px;height:56px;padding:0 var(--sp-2);border-radius:var(--r-sm);color:var(--ink);cursor:pointer;background:0 0;border:0;flex-direction:column;justify-content:center;justify-self:start;align-items:center;gap:3px;font-size:12px;font-weight:700;display:inline-flex}.cv-shutter{cursor:pointer;transition:background-color var(--dur-base) var(--ease-out), color var(--dur-base) var(--ease-out), box-shadow var(--dur-base) var(--ease-out);padding:0;position:relative}.cv-shutter.cv-is-counting{background:var(--surface);box-shadow:var(--shadow-md);color:var(--line2);cursor:default}.cv-shutter.cv-is-counting:active{transform:none}.cv-ring{pointer-events:none;width:88px;height:88px;position:absolute;top:-12px;left:-12px;overflow:visible;transform:rotate(-90deg)}.cv-ring circle{fill:none;stroke-width:3.5px}.cv-ring-track{stroke:var(--line)}.cv-ring-fill{stroke:var(--green);transition:stroke-dashoffset var(--dur-base) var(--ease-out)}.cv-ring-spin{stroke:var(--green-ink);stroke-linecap:round;transform-box:view-box;transform-origin:50%;animation:1.1s linear infinite cv-spin}@keyframes cv-spin{to{transform:rotate(360deg)}}.cv-abar-end{justify-content:flex-end;align-items:center;min-width:0;display:flex}.pp-btn.cv-process{border-radius:var(--r-pill);height:44px;padding:0 18px;font-size:14px}.cv-prog{height:44px;color:var(--neutral-ink);white-space:nowrap;font-variant-numeric:tabular-nums;align-items:center;font-size:14px;font-weight:700;display:inline-flex}.cv-pill{border-radius:var(--r-pill);background:var(--green-wash);min-width:190px;height:44px;color:var(--ink);white-space:nowrap;font-variant-numeric:tabular-nums;justify-content:center;align-items:center;padding:0 18px;font-size:14px;font-weight:700;display:inline-flex;position:relative;overflow:hidden}.cv-pill-fill{background:var(--green);transition:width var(--dur-base) var(--ease-out);position:absolute;top:0;bottom:0;left:0}.cv-pill:after{content:"";background:linear-gradient(100deg, transparent, color-mix(in srgb, var(--surface) 55%, transparent), transparent);width:45%;animation:cv-sheen 2.6s var(--ease-in-out) infinite;position:absolute;top:0;bottom:0;left:0;transform:translate(-100%)}@keyframes cv-sheen{to{transform:translate(240%)}}.cv-pill-text{z-index:1;position:relative}.cv-is-medium .cv-pill{min-width:0;padding:0 14px;font-size:13px}.cv-map{gap:var(--sp-2);display:grid}.cv-maptab{gap:var(--sp-5);display:grid}.cv-baycol{align-content:start;gap:var(--sp-3);min-width:0;scroll-margin-top:var(--sp-2);display:grid}.cv-baypick{gap:var(--sp-2);display:grid}.cv-baypick-name{font-size:16px;font-weight:700}.cv-detail{background:var(--surface)}.cv-detail-cover{z-index:40;overscroll-behavior:contain;padding:0 var(--sp-4);animation:cv-in var(--dur-base) var(--ease-out);position:fixed;inset:0;overflow-y:auto}.cv-detail-head{z-index:2;align-items:center;gap:var(--sp-2);margin:0 calc(var(--sp-4) * -1) var(--sp-3);padding:var(--sp-1) var(--sp-4);background:var(--surface);border-bottom:1px solid var(--line);display:flex;position:sticky;top:0}.cv-detail-overlay .cv-detail-head{margin:0 calc(var(--sp-5) * -1) var(--sp-3);padding:var(--sp-2) var(--sp-5)}.cv-iconbtn{width:44px;height:44px;margin-left:calc(var(--sp-2) * -1);border-radius:var(--r-sm);color:var(--ink);cursor:pointer;background:0 0;border:0;flex:none;place-items:center;display:grid}.cv-iconbtn:hover{background:var(--zebra)}.cv-detail-title{margin:0;font-size:17px;font-weight:700}.cv-detail-head{touch-action:pan-y}.cv-detail-nav{margin-right:calc(var(--sp-2) * -1);flex:none;display:flex}.cv-detail-nav .cv-iconbtn{margin-left:0}.cv-iconbtn:disabled{opacity:.3;cursor:default}.cv-iconbtn:disabled:hover{background:0 0}.cv-badge-edited{background:var(--green-wash);color:var(--green-ink);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--green-d) 40%, transparent)}.cv-photobays{gap:var(--sp-2);display:grid}.cv-photobays-head{justify-content:space-between;align-items:center;gap:var(--sp-3);min-height:40px;display:flex}.cv-baycol-head{justify-content:space-between;align-items:center;gap:var(--sp-2) var(--sp-4);flex-wrap:wrap;min-height:44px;display:flex}.cv-baycol-name{align-items:center;gap:0 var(--sp-3);flex-wrap:wrap;min-width:0;display:flex}.cv-baycol-none{color:var(--muted);margin:0;font-size:15px}.cv-photobays-head .cv-textbtn,.cv-baysheet-top .cv-textbtn,.cv-baycol-head .cv-textbtn{height:40px;color:var(--green-ink);flex:none}.cv-photobays .pr-zm{max-height:46vh}.cv-bayrow{justify-content:space-between;align-items:center;gap:var(--sp-3);min-height:48px;padding:0 var(--sp-3) 0 var(--sp-4);border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);display:flex}.cv-bayrow-name{min-width:0;font-size:15px;font-weight:700}.cv-bayrow-name.cv-is-none{color:var(--muted)}.cv-bayrow .cv-textbtn{height:40px;color:var(--green-ink)}.cv-detail-sub{color:var(--muted);margin:0;font-size:13px}.cv-detail-body{padding-bottom:var(--sp-4)}.cv-detail .pr-review{grid-template-columns:minmax(0,1fr)}.cv-detail .pp-btn{height:44px;font-size:14px}.cv-detail .pp-seg-opt,.cv-detail .pp-seg-thumb{height:44px}.cv-overlay{z-index:40;padding:var(--sp-5);place-items:center;display:grid;position:fixed;inset:0}.cv-overlay-scrim{background:color-mix(in srgb, var(--ink) 40%, transparent);animation:cv-fade var(--dur-base) var(--ease-out);position:absolute;inset:0}.cv-overlay-panel{overscroll-behavior:contain;width:min(640px,100%);height:100%;padding:0 var(--sp-5);border-radius:var(--r-lg);background:var(--surface);box-shadow:var(--shadow-lg);animation:cv-in var(--dur-base) var(--ease-out);position:relative;overflow-y:auto}.cv-viewer{z-index:40;padding:var(--sp-4);display:grid;position:fixed;inset:0}.cv-viewer-scrim{background:color-mix(in srgb, var(--ink) 55%, transparent);animation:cv-fade var(--dur-base) var(--ease-out);position:absolute;inset:0}.cv-viewer-box{border-radius:var(--r-lg);background:var(--surface);min-height:0;box-shadow:var(--shadow-lg);animation:cv-in var(--dur-base) var(--ease-out);grid-template-columns:minmax(0,1fr) 380px;display:grid;position:relative;overflow:hidden}.cv-viewer-stage{background:var(--ink);min-width:0;min-height:0;position:relative;overflow:hidden}.cv-viewer-slot{position:absolute;inset:0}.cv-viewer-slot:empty{display:none}.cv-viewer-none{color:var(--line2);place-items:center;margin:0;font-size:14px;display:grid;position:absolute;inset:0}.cv-detail-viewer{overscroll-behavior:contain;min-height:0;padding:0 var(--sp-5);border-left:1px solid var(--line);overflow-y:auto}.cv-detail-viewer .cv-detail-head{margin:0 calc(var(--sp-5) * -1) var(--sp-3);padding:var(--sp-2) var(--sp-5)}.cv-baysheet{gap:var(--sp-3);display:grid}.cv-baysheet-top{align-items:center;gap:var(--sp-3);min-width:0;display:flex}.cv-baysheet-now{flex:auto;min-width:0;font-size:15px;font-weight:700}.cv-baysheet-now.cv-is-none{color:var(--muted)}.cv-sheet-map .pr-zm{max-height:52vh}.cv-thumbs{flex-wrap:wrap;gap:6px;display:flex}.cv-replace{gap:var(--sp-2);margin:0;padding:0;list-style:none;display:grid}.cv-replace li{align-items:center;gap:var(--sp-3);min-width:0;display:flex}.cv-replace img,.cv-replace .cv-thumbs-ph{-o-object-fit:cover;object-fit:cover;border-radius:var(--r-xs);background:var(--zebra);flex:none;width:52px;height:52px}.cv-replace-bays{flex:auto;min-width:0;font-size:15px;font-weight:700}.cv-replace-state{color:var(--muted);flex:none;font-size:13px}.cv-thumbs img,.cv-thumbs-ph,.cv-thumbs-more{-o-object-fit:cover;object-fit:cover;border-radius:var(--r-xs);background:var(--zebra);width:52px;height:52px}.cv-thumbs-sm img,.cv-thumbs-sm .cv-thumbs-ph,.cv-thumbs-sm .cv-thumbs-more{width:40px;height:40px}.cv-thumbs-ph{display:block}.cv-thumbs-more{color:var(--muted);place-items:center;font-size:13px;font-weight:700;display:grid}.cv-confirm{gap:var(--sp-3);display:grid}.cv-addbtn:disabled,.cv-abar-lib:disabled,.cv-shutter:disabled,.cv-textbtn:disabled{opacity:.4;cursor:default}.cv-addbtn:disabled:hover{box-shadow:var(--shadow-sm)}.cv-side .cv-addbtn:disabled:hover{background:var(--zebra);box-shadow:none}.cv-addbtn:disabled:active{transform:none}.cv-textbtn:disabled:hover{background:0 0}.cv-bay:disabled{opacity:.6;cursor:default}.cv-back:focus-visible,.cv-textbtn:focus-visible,.cv-addbtn:focus-visible,.cv-chip:focus-visible,.cv-bay:focus-visible,.cv-photo-in:focus-visible,.cv-selhit:focus-visible,.cv-qbtn:focus-visible,.cv-abar-lib:focus-visible,.cv-shutter:focus-visible,.cv-addcell:focus-visible,.cv-iconbtn:focus-visible{box-shadow:var(--focus-ring);outline:none}.cv-photo-in:focus-visible,.cv-selhit:focus-visible{box-shadow:inset 0 0 0 3px var(--green-ink)}.cv-root.cv-is-compact{--cv-top:0px}.cv-is-compact .cv-board{gap:10px}.cv-is-compact .cv-head{gap:0}.cv-is-compact .cv-back{height:36px}.cv-is-compact .cv-titlerow{min-height:36px}.cv-is-compact .cv-h1{font-size:24px}.cv-is-compact .cv-titlerow .cv-textbtn{height:36px}.cv-is-compact .cv-pagerow{flex-wrap:wrap;margin-top:6px}.cv-is-compact .cv-views{flex:1 0 100%}.cv-is-compact .cv-view{height:28px;padding:0 var(--sp-2);flex:1;font-size:13px}.cv-is-compact .cv-seg .pp-seg-opt,.cv-is-compact .cv-seg .pp-seg-thumb{height:28px}.cv-is-compact .cv-seg.pp-seg{overflow:visible}.cv-is-compact .cv-back,.cv-is-compact .cv-titlerow .cv-textbtn{position:relative}.cv-is-compact .cv-back:after,.cv-is-compact .cv-titlerow .cv-textbtn:after,.cv-is-compact .cv-seg .pp-seg-opt:after{content:"";position:absolute;inset:-4px 0}.cv-is-compact .cv-seg .pp-seg-opt:after{inset:-8px 0}.cv-is-compact .cv-report{gap:var(--sp-2);grid-template-columns:repeat(2,minmax(0,1fr))}.cv-is-compact .cv-rcard-art{padding:var(--sp-2) var(--sp-3) var(--sp-1)}.cv-is-compact .cv-rcard-body{padding:var(--sp-2) var(--sp-3) var(--sp-3)}.cv-is-compact .cv-rcard-n{font-size:28px}.cv-is-compact .cv-chips{margin-top:-6px;margin-bottom:-6px}.cv-is-compact .cv-chip{height:40px}.cv-is-compact .cv-chip-in{height:32px}.cv-is-compact .cv-sec{gap:6px}.cv-is-medium .cv-chips,.cv-is-expanded .cv-chips{flex-wrap:wrap;margin-left:0;margin-right:0;padding:0;overflow:visible}.cv-is-expanded .cv-board{gap:var(--sp-5)}.cv-is-expanded .cv-layout{max-width:1440px;padding:0 var(--sp-6);margin:0 auto}.cv-is-expanded.cv-no-side .cv-layout{max-width:1160px}.cv-is-expanded .cv-board{padding-top:var(--sp-6)}.cv-is-expanded .cv-side{top:var(--sp-5);height:auto;max-height:calc(100vh - var(--sp-5) * 2);margin-top:var(--sp-5);border:1px solid var(--line);border-radius:var(--r-lg)}.cv-is-expanded .cv-h1{font-size:30px}.cv-is-expanded .cv-add{grid-template-columns:repeat(2,minmax(0,200px))}.cv-is-expanded .cv-add.cv-is-one{grid-template-columns:minmax(0,200px)}.cv-is-expanded .cv-tools .cv-addbtn{min-width:150px}.cv-is-medium .cv-tools{gap:var(--sp-1)}.cv-is-medium .cv-tools .cv-addbtn{gap:6px;padding:0 10px;font-size:13px}.cv-is-medium .pp-btn.cv-process{padding:0 14px}@keyframes cv-rise{0%{transform:translateY(100%)}to{transform:none}}@keyframes cv-drop{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}@keyframes cv-in{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}@keyframes cv-fade{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion:reduce){.cv-scan-sweep{height:50%;animation:none}.cv-ring-spin,.cv-pill:after,.cv-is-fresh .cv-fit svg circle,.cv-selbar,.cv-detail-cover,.cv-overlay-scrim,.cv-overlay-panel{animation:none}.cv-addcell.cv-is-over .cv-addcell-icon{transform:none}}.pp-ck{--ck-wm-size:min(80px, 12.5vw);--ck-wm-w:calc(var(--ck-wm-size) * 6.389);--ck-wm-split:.487;min-height:var(--ck-fill,420px);flex-direction:column;justify-content:center;padding-bottom:56px;display:flex}.pp-ck-hero{height:var(--ck-wm-size);font-size:var(--ck-wm-size);pointer-events:none;-webkit-user-select:none;user-select:none;flex:none;justify-items:center;line-height:1;display:grid;position:relative}.pp-ck-wm{font-family:Arial,Helvetica,sans-serif;font-size:inherit;white-space:nowrap;font-weight:700;line-height:1}.pp-ck-sh-f{color:var(--green)}.pp-ck-sh-s{color:var(--logo-grey)}@property --ck-sh-k{syntax:"<number>";inherits:true;initial-value:1}@media (prefers-reduced-motion:no-preference){@supports (color:color-mix(in srgb, #000 50%, #fff)) and (background-image:linear-gradient(90deg in srgb, #000, #fff)) and ((-webkit-background-clip:text) or (background-clip:text)){.pp-ck-sh{--ck-sh-band:.4;--ck-sh-tiles:1.5;--ck-sh-tile:calc(var(--ck-wm-w) * var(--ck-sh-tiles));--ck-sh-k:1;transition:--ck-sh-k var(--dur-base) var(--ease-in-out)}.pp-ck-sh-w{--ck-sh-lt:color-mix(in srgb, var(--ck-sh-c) 60%, var(--surface));--ck-sh-dk:color-mix(in srgb, var(--ck-sh-c) 60%, var(--ink));--ck-sh-l:color-mix(in srgb, var(--ck-sh-lt) calc(var(--ck-sh-k) * 100%), var(--ck-sh-c));--ck-sh-d:color-mix(in srgb, var(--ck-sh-dk) calc(var(--ck-sh-k) * 100%), var(--ck-sh-c));--ck-sh-h:calc(var(--ck-sh-band) / var(--ck-sh-tiles) / 2 * 100%);color:#0000;background-image:linear-gradient(90deg in srgb, var(--ck-sh-c) 0%, var(--ck-sh-c) calc(25% - var(--ck-sh-h)), color-mix(in srgb, var(--ck-sh-l) 4%, var(--ck-sh-c)) calc(25% - var(--ck-sh-h) * .875), color-mix(in srgb, var(--ck-sh-l) 15%, var(--ck-sh-c)) calc(25% - var(--ck-sh-h) * .75), color-mix(in srgb, var(--ck-sh-l) 31%, var(--ck-sh-c)) calc(25% - var(--ck-sh-h) * .625), color-mix(in srgb, var(--ck-sh-l) 50%, var(--ck-sh-c)) calc(25% - var(--ck-sh-h) * .5), color-mix(in srgb, var(--ck-sh-l) 69%, var(--ck-sh-c)) calc(25% - var(--ck-sh-h) * .375), color-mix(in srgb, var(--ck-sh-l) 85%, var(--ck-sh-c)) calc(25% - var(--ck-sh-h) * .25), color-mix(in srgb, var(--ck-sh-l) 96%, var(--ck-sh-c)) calc(25% - var(--ck-sh-h) * .125), var(--ck-sh-l) 25%, color-mix(in srgb, var(--ck-sh-l) 96%, var(--ck-sh-c)) calc(25% + var(--ck-sh-h) * .125), color-mix(in srgb, var(--ck-sh-l) 85%, var(--ck-sh-c)) calc(25% + var(--ck-sh-h) * .25), color-mix(in srgb, var(--ck-sh-l) 69%, var(--ck-sh-c)) calc(25% + var(--ck-sh-h) * .375), color-mix(in srgb, var(--ck-sh-l) 50%, var(--ck-sh-c)) calc(25% + var(--ck-sh-h) * .5), color-mix(in srgb, var(--ck-sh-l) 31%, var(--ck-sh-c)) calc(25% + var(--ck-sh-h) * .625), color-mix(in srgb, var(--ck-sh-l) 15%, var(--ck-sh-c)) calc(25% + var(--ck-sh-h) * .75), color-mix(in srgb, var(--ck-sh-l) 4%, var(--ck-sh-c)) calc(25% + var(--ck-sh-h) * .875), var(--ck-sh-c) calc(25% + var(--ck-sh-h)), var(--ck-sh-c) calc(75% - var(--ck-sh-h)), color-mix(in srgb, var(--ck-sh-d) 4%, var(--ck-sh-c)) calc(75% - var(--ck-sh-h) * .875), color-mix(in srgb, var(--ck-sh-d) 15%, var(--ck-sh-c)) calc(75% - var(--ck-sh-h) * .75), color-mix(in srgb, var(--ck-sh-d) 31%, var(--ck-sh-c)) calc(75% - var(--ck-sh-h) * .625), color-mix(in srgb, var(--ck-sh-d) 50%, var(--ck-sh-c)) calc(75% - var(--ck-sh-h) * .5), color-mix(in srgb, var(--ck-sh-d) 69%, var(--ck-sh-c)) calc(75% - var(--ck-sh-h) * .375), color-mix(in srgb, var(--ck-sh-d) 85%, var(--ck-sh-c)) calc(75% - var(--ck-sh-h) * .25), color-mix(in srgb, var(--ck-sh-d) 96%, var(--ck-sh-c)) calc(75% - var(--ck-sh-h) * .125), var(--ck-sh-d) 75%, color-mix(in srgb, var(--ck-sh-d) 96%, var(--ck-sh-c)) calc(75% + var(--ck-sh-h) * .125), color-mix(in srgb, var(--ck-sh-d) 85%, var(--ck-sh-c)) calc(75% + var(--ck-sh-h) * .25), color-mix(in srgb, var(--ck-sh-d) 69%, var(--ck-sh-c)) calc(75% + var(--ck-sh-h) * .375), color-mix(in srgb, var(--ck-sh-d) 50%, var(--ck-sh-c)) calc(75% + var(--ck-sh-h) * .5), color-mix(in srgb, var(--ck-sh-d) 31%, var(--ck-sh-c)) calc(75% + var(--ck-sh-h) * .625), color-mix(in srgb, var(--ck-sh-d) 15%, var(--ck-sh-c)) calc(75% + var(--ck-sh-h) * .75), color-mix(in srgb, var(--ck-sh-d) 4%, var(--ck-sh-c)) calc(75% + var(--ck-sh-h) * .875), var(--ck-sh-c) calc(75% + var(--ck-sh-h)), var(--ck-sh-c) 100%);background-repeat:repeat-x;background-size:var(--ck-sh-tile) 100%;background-position:calc(0px - var(--ck-sh-off)) 0;-webkit-background-clip:text;background-clip:text;animation:4s linear infinite pp-ck-sh-scroll}.pp-ck-sh-f{--ck-sh-c:var(--green);--ck-sh-off:0px}.pp-ck-sh-s{--ck-sh-c:var(--logo-grey);--ck-sh-off:calc(var(--ck-wm-w) * var(--ck-wm-split))}}}@keyframes pp-ck-sh-scroll{0%{background-position:calc(0px - var(--ck-sh-off)) 0}to{background-position:calc(var(--ck-sh-tile) - var(--ck-sh-off)) 0}}.pp-ck-block{width:var(--ck-wm-w);max-width:100%;padding-left:calc(var(--ck-wm-size) * .0625);flex:none;margin:26px auto 0;display:grid}.pp-ck-line{color:var(--ink);margin:0;font-size:17px;line-height:1.4}.pp-ck-status{gap:10px;margin-top:40px;display:grid}.pp-ck-title{font-variant-numeric:tabular-nums;margin:0;font-size:15px;font-weight:700;line-height:1.3}.pp-ck-bar{border-radius:var(--r-pill);background:var(--line);height:6px;position:relative;overflow:hidden}.pp-ck-bar-wait{background-image:linear-gradient(90deg, transparent, var(--green), transparent);opacity:.55;animation:pp-ck-wait 2.4s var(--ease-in-out) infinite;background-position:-67% 0;background-repeat:no-repeat;background-size:40% 100%;position:absolute;inset:0}@keyframes pp-ck-wait{0%{background-position:-67% 0}to{background-position:167% 0}}.pp-ck-paused .pp-ck-sh-w,.pp-ck-paused .pp-ck-bar-wait{animation-play-state:paused}@media (prefers-reduced-motion:reduce){.pp-ck-bar-wait{opacity:0;animation:none}.pp-ck-bar{background:color-mix(in srgb, var(--green) 30%, var(--line))}}.vd-root .cv-board{width:100%;max-width:1120px;margin:0 auto}.vd-root .cv-report{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.vd-root.cv-is-compact .cv-report{grid-template-columns:repeat(2,minmax(0,1fr))}.vd-title{align-items:center;gap:var(--sp-3);min-width:0;display:flex}.vd-badge{border-radius:var(--r-md);background:var(--info-bg);width:48px;height:48px;color:var(--info-ink);flex:none;place-items:center;display:grid}.vd-actions{gap:var(--sp-2);grid-template-columns:1fr 1fr;display:grid}.vd-grid{gap:var(--sp-3);grid-template-columns:repeat(auto-fill,minmax(240px,1fr));display:grid}.cv-addcell.vd-add{aspect-ratio:auto;border-radius:var(--r-md);min-height:236px}.vd-card{border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);min-width:0;color:var(--ink);text-align:left;font:inherit;grid-template-rows:auto 1fr;padding:0;display:grid;overflow:hidden}button.vd-card{cursor:pointer;transition:border-color var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out)}button.vd-card:hover{border-color:var(--line2);box-shadow:var(--shadow-sm)}.vd-thumb{background:var(--neutral-bg);height:150px;color:var(--neutral-ink);place-items:center;display:grid;position:relative;overflow:hidden}.vd-thumb img{-o-object-fit:cover;object-fit:cover;width:100%;height:100%}.vd-is-failed .vd-thumb{background:var(--error-wash);color:var(--error)}.vd-play{color:#fff;background:#1a1a1aa6;border-radius:50%;place-items:center;width:40px;height:40px;display:grid;position:absolute}.vd-play .pp-icon{fill:currentColor}.vd-bar{right:var(--sp-3);bottom:var(--sp-3);left:var(--sp-3);border-radius:var(--r-pill);background:var(--surface);height:6px;position:absolute;overflow:hidden}.vd-bar>span{background:var(--green);height:100%;transition:width var(--dur-base) var(--ease-out);display:block}.vd-card-body{padding:var(--sp-3);align-content:start;gap:2px;display:grid}.vd-name{text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:14px;font-weight:700;overflow:hidden}.vd-state{font-variant-numeric:tabular-nums;margin:0;font-size:13px}.vd-state.vd-is-error{color:var(--error)}.vd-meta{color:var(--muted);margin:0;font-size:12px}.vd-dismiss{height:32px;margin:var(--sp-1) 0 0 calc(var(--sp-2) * -1);justify-self:start;font-size:13px}.vd-spin{border:3px solid var(--line);border-top-color:var(--green-d);border-radius:50%;width:28px;height:28px;animation:.9s linear infinite vd-spin}.vd-thumb .vd-spin{top:var(--sp-3);right:var(--sp-3);border-width:2.5px;width:20px;height:20px;position:absolute}@keyframes vd-spin{to{transform:rotate(360deg)}}.vd-detail-title{overflow-wrap:anywhere}.vd-download{align-items:center;gap:var(--sp-2);text-decoration:none;display:inline-flex}.vd-player{border-radius:var(--r-md);background:#111;place-items:center;min-height:240px;display:grid;overflow:hidden}.vd-player video{background:#111;width:100%;max-height:calc(100vh - 220px);display:block}.vd-player .cv-none{color:#ccc}.vd-working{align-items:center;gap:var(--sp-3);padding:var(--sp-5);border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);display:flex}.vd-table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;font-size:14px}.vd-table th,.vd-table td{padding:var(--sp-2) var(--sp-3);border-bottom:1px solid var(--line);text-align:right}.vd-table th:first-child,.vd-table td:first-child{text-align:left}.vd-table th{color:var(--muted);font-size:12px;font-weight:700}@media (prefers-reduced-motion:reduce){.vd-spin{animation-duration:3s}}.cv-newstore{gap:var(--sp-4);display:grid}.cv-kinds{gap:var(--sp-3);grid-template-columns:repeat(auto-fit,minmax(170px,1fr));display:grid}.cv-kind{padding:var(--sp-3);border:1.5px solid var(--line);border-radius:var(--r-md);background:var(--surface);color:var(--ink);text-align:left;font:inherit;cursor:pointer;justify-items:start;gap:2px;display:grid}.cv-kind[aria-checked=true]{border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}.cv-kind-icon{width:36px;height:36px;margin-bottom:var(--sp-1);border-radius:var(--r-sm);background:var(--green-wash);color:var(--green-ink);place-items:center;display:grid}.cv-kind-video .cv-kind-icon{background:var(--info-bg);color:var(--info-ink)}.cv-kind-label{font-size:15px;font-weight:700}.cv-kind-line{color:var(--muted);font-size:12px}.vd-has-bar{padding-bottom:calc(96px + env(safe-area-inset-bottom))}.cv-addcell.vd-add:disabled{opacity:.5;cursor:default}.vd-confirm{gap:var(--sp-2);margin:0;padding:0;list-style:none;display:grid}.vd-confirm li{align-items:center;gap:var(--sp-2);color:var(--info-ink);grid-template-columns:auto minmax(0,1fr) auto;display:grid}.vd-confirm .vd-name{color:var(--ink);font-weight:400}.cv-kind-plan .cv-kind-icon{background:var(--green-wash);color:var(--green-ink)}.cv-planfile{gap:var(--sp-2);display:grid}.cv-planpick{align-items:center;gap:var(--sp-2);min-height:48px;padding:0 var(--sp-3);border:1.5px dashed var(--line2);border-radius:var(--r-md);background:var(--surface);color:var(--muted);font:inherit;text-align:left;cursor:pointer;font-size:14px;display:flex}.cv-planpick:hover{border-color:var(--muted)}.cv-planpick.cv-is-set{border-style:solid;border-color:var(--green);background:var(--green-wash);color:var(--ink)}.cv-planpick-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.cv-planpick-change{color:var(--green-ink);margin-left:auto;font-weight:700}button.vd-card .vd-play{transition:transform var(--dur-fast) var(--ease-out), background-color var(--dur-fast) var(--ease-out)}button.vd-card:hover .vd-play{background:#1a1a1ad9;transform:scale(1.12)}.vd-viewer{z-index:50;padding:var(--sp-5);place-items:center;display:grid;position:fixed;inset:0}.vd-viewer-scrim{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);animation:vd-fade var(--dur-base) var(--ease-out);background:#0c0c0cb8;position:absolute;inset:0}.vd-viewer-panel{border-radius:var(--r-lg);color:#f2f2f2;width:min(1180px,100%);height:min(900px,100%);box-shadow:var(--shadow-lg);animation:vd-rise var(--dur-base) var(--ease-out);background:#141414;outline:none;grid-template-rows:auto minmax(0,1fr);display:grid;position:relative;overflow:hidden}.vd-viewer-panel.vd-is-plain{width:min(560px,100%);height:auto}.vd-viewer-head{align-items:center;gap:var(--sp-3);padding:var(--sp-3) var(--sp-3) var(--sp-3) var(--sp-5);border-bottom:1px solid #ffffff14;display:flex}.vd-viewer-title{gap:2px;min-width:0;display:grid}.vd-viewer-title h2{text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:16px;font-weight:700;overflow:hidden}.vd-viewer-title p{color:#ffffff8c;margin:0;font-size:12px}.vd-viewer-actions{gap:var(--sp-1);margin-left:auto;display:flex}.vd-iconbtn{color:#f2f2f2;cursor:pointer;width:40px;height:40px;transition:background-color var(--dur-fast) var(--ease-out);background:#ffffff0f;border:0;border-radius:50%;place-items:center;display:grid}.vd-iconbtn:hover{background:#ffffff29}.vd-iconbtn:focus-visible{outline:2px solid var(--green);outline-offset:2px}.vd-viewer-body{grid-template-columns:minmax(0,1fr) 300px;min-height:0;display:grid}.vd-is-plain .vd-viewer-body{grid-template-columns:minmax(0,1fr)}.vd-stage{background:#000;place-items:center;min-height:0;display:grid;position:relative;overflow:hidden}.vd-stage video,.vd-stage-poster{-o-object-fit:contain;object-fit:contain;background:#000;width:100%;height:100%;position:absolute;inset:0}.vd-stage-poster{opacity:.45;filter:blur(2px)}.vd-stage-load{align-items:center;gap:var(--sp-3);padding:var(--sp-2) var(--sp-4);border-radius:var(--r-pill);color:#f2f2f2;background:#0009;font-size:14px;font-weight:700;display:inline-flex;position:relative}.vd-stage-load .vd-spin{border-width:2.5px;border-color:#ffffff40;border-top-color:var(--green);width:18px;height:18px}.vd-stage-note{padding:var(--sp-6) var(--sp-5);color:#ffffffbf;text-align:center;margin:0;font-size:15px}.vd-stage-note.vd-is-error{color:#ff8a80}.vd-viewer-side{align-content:start;gap:var(--sp-5);padding:var(--sp-5);border-left:1px solid #ffffff14;display:grid;overflow-y:auto}.vd-counts{gap:var(--sp-1);margin:0;padding:0;list-style:none;display:grid}.vd-counts li{align-items:center;gap:var(--sp-3);padding:var(--sp-3) 0;border-bottom:1px solid #ffffff14;grid-template-columns:22px minmax(0,1fr) auto;display:grid}.vd-counts-label{font-size:14px;display:grid}.vd-counts-sub{color:#ffffff80;font-size:12px}.vd-counts-n{font-variant-numeric:tabular-nums;letter-spacing:-.01em;font-size:24px;font-weight:700}.vd-sw{justify-self:center;display:block}.vd-sw-tag,.vd-sw-clip{background:#2563eb;border:2px solid #fff;border-radius:50%;width:12px;height:12px}.vd-sw-clip{background:#db2777}.vd-sw-hook{border:2.5px solid #9333ea;border-radius:2px;width:16px;height:13px}.vd-sw-rail,.vd-sw-norail{border-top:4px solid #0d9488;width:20px;height:0}.vd-sw-norail{border-top:4px dashed #64748b}.vd-viewer-side .vd-table th,.vd-viewer-side .vd-table td{padding:var(--sp-2) var(--sp-1);border-bottom-color:#ffffff14;font-size:13px}.vd-viewer-side .vd-table th{color:#ffffff80}@keyframes vd-fade{0%{opacity:0}}@keyframes vd-rise{0%{opacity:0;transform:translateY(12px)scale(.985)}}@media (width<=760px){.vd-viewer{padding:0}.vd-viewer-panel{border-radius:0;grid-template-rows:auto minmax(0,1fr);width:100%;height:100%}.vd-viewer-panel.vd-is-plain{border-radius:var(--r-lg) var(--r-lg) 0 0;align-self:end;height:auto}.vd-viewer-head{padding-left:var(--sp-4)}.vd-viewer-body{grid-template-rows:minmax(0,1fr) auto;grid-template-columns:minmax(0,1fr)}.vd-viewer-side{max-height:38vh;padding:var(--sp-3) var(--sp-4) calc(var(--sp-3) + env(safe-area-inset-bottom));border-top:1px solid #ffffff14;border-left:0}.vd-counts{-moz-column-gap:var(--sp-4);column-gap:var(--sp-4);grid-template-columns:1fr 1fr}.vd-counts-n{font-size:20px}}@media (prefers-reduced-motion:reduce){.vd-viewer-scrim,.vd-viewer-panel{animation:none}}.vd-pub{justify-content:space-between;align-items:center;gap:var(--sp-3);margin-bottom:var(--sp-4);padding:var(--sp-3) var(--sp-4);border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);flex-wrap:wrap;display:flex}.vd-pub-state{align-items:center;gap:var(--sp-2);color:var(--green-ink,var(--ink));font-size:14px;font-weight:700;display:inline-flex}.vd-pub-state.vd-is-off{color:var(--muted);font-weight:600}.vd-pub-new{border-radius:var(--r-pill);background:var(--warn-bg,#fff4e5);color:var(--warn-ink,#8a4b00);padding:2px 8px;font-size:12px}.vd-pub-actions{align-items:center;gap:var(--sp-3);display:inline-flex}.vd-pub-note{margin:0 0 var(--sp-3);color:var(--muted);font-size:13px}.vd-sh,.vd-sh-confirm{gap:var(--sp-4);display:grid}.vd-sh-head{margin:0 0 var(--sp-2);color:var(--muted);letter-spacing:.04em;text-transform:uppercase;font-size:12px;font-weight:700}.vd-sh-list ul{margin:0;padding:0;list-style:none;display:grid}.vd-sh-list li{align-items:center;gap:var(--sp-3);padding:var(--sp-3) 0;border-top:1px solid var(--line);display:flex}.vd-sh-list li.vd-is-off .vd-sh-who{opacity:.55}.vd-sh-who{flex:1;gap:2px;min-width:0;display:grid}.vd-sh-who b{text-overflow:ellipsis;white-space:nowrap;font-size:14px;overflow:hidden}.vd-sh-who span{color:var(--muted);font-size:12px}.vd-sh-state{border-radius:var(--r-pill);background:var(--fill,#f1f1f1);color:var(--muted);flex:none;padding:2px 8px;font-size:12px;font-weight:700}.vd-sh-kv{gap:var(--sp-2) var(--sp-4);grid-template-columns:auto minmax(0,1fr);margin:0;font-size:14px;display:grid}.vd-sh-kv dt{color:var(--muted)}.vd-sh-kv dd{overflow-wrap:anywhere;margin:0;font-weight:700}.vd-brand{align-items:center;gap:var(--sp-3);padding-top:var(--sp-2);margin-bottom:var(--sp-3);display:flex}.vd-brand-name{padding-left:var(--sp-3);border-left:1px solid var(--line);color:var(--ink);font-size:14px;font-weight:700}.cv-is-compact .vd-sharebtn{min-height:36px;padding-inline:var(--sp-3)}
