.ph{--ph-violet:#6c4fff;--ph-violet-hover:#765cfb;--ph-lav:#b0a1ff;--ph-lav-tint:#cfc6ff;--ph-lav-tint-2:#ede9ff;--ph-gold:#f3b62c;--ph-green:#2ebd85;--ph-green-text:#6fe5b5;--ph-error:#ff8585;--ph-card:rgba(255,255,255,0.04);--ph-card-border:rgba(255,255,255,0.1);--ph-lav-border:rgba(176,161,255,0.4);--ph-lav-border-2:rgba(176,161,255,0.35);--ph-ease:cubic-bezier(0.2,0.7,0.2,1)}.ph,.ph *,.ph :after,.ph :before{box-sizing:border-box}.ph select option{color:#00012d}.ph [id]{scroll-margin-top:104px}.ph .ph-mono{font-family:var(--font-jetbrains),ui-monospace,"SFMono-Regular","Menlo","Consolas",monospace;font-variant-numeric:tabular-nums}.ph .ph-glow{border-radius:50%;filter:blur(150px)}.ph .ph-glow,.ph .ph-grid{position:absolute;pointer-events:none;z-index:0}.ph .ph-grid{inset:0;background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 0),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 0);background-size:110px 110px;opacity:.5;-webkit-mask-image:radial-gradient(ellipse at top,black 25%,transparent 72%);mask-image:radial-gradient(ellipse at top,black 25%,transparent 72%)}.ph .ph-swoosh{position:relative;font-style:normal;display:inline-block}.ph .ph-swoosh:after{content:"";position:absolute;left:-3%;right:-3%;bottom:-.02em;height:.2em;background:var(--ph-lav);transform:skewY(-4deg) rotate(-2deg);border-radius:999px;z-index:-1;opacity:.95}@keyframes ph-pulse{0%{box-shadow:0 0 0 0 rgba(46,189,133,.5)}70%{box-shadow:0 0 0 9px rgba(46,189,133,0)}to{box-shadow:0 0 0 0 rgba(46,189,133,0)}}.ph .ph-livedot{animation:ph-pulse 1.8s infinite}.ph .dt-node{flex:1;border-radius:12px;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.05);padding:11px 6px 10px;text-align:center;font-size:12px;font-weight:500;color:#ede9ff;transition:border-color .3s var(--ph-ease),background .3s var(--ph-ease)}.ph .dt-node.on{border-color:rgba(176,161,255,.65);background:rgba(118,92,251,.14)}.ph .dt-commit{display:inline-block;margin-top:6px;padding:2px 7px;border-radius:7px;border:1px solid rgba(176,161,255,.35);background:rgba(118,92,251,.18);font-size:9px;font-weight:400;color:var(--ph-lav-tint);white-space:nowrap;max-width:100%;overflow:hidden;text-overflow:ellipsis;opacity:0;transform:translateY(4px);transition:opacity .35s var(--ph-ease),transform .35s var(--ph-ease)}.ph .dt-card:not(.dt-armed) .dt-commit,.ph .dt-commit.show{opacity:1;transform:none}.ph .dt-checks{margin-top:6px;display:flex;flex-direction:column;gap:2px}.ph .dt-chk{display:flex;align-items:center;justify-content:space-between;gap:6px;font-size:9px;font-weight:400;color:rgba(255,255,255,.45);line-height:1.4;transition:color .25s var(--ph-ease)}.ph .dt-chk.done{color:rgba(255,255,255,.85)}.ph .dt-chk .dt-status{position:relative;width:10px;height:10px;flex:none}.ph .dt-spin{position:absolute;inset:0;border:1.5px solid rgba(255,255,255,.2);border-top:1.5px solid var(--ph-lav);border-radius:50%;opacity:0;animation:dt-rot .7s linear infinite}.ph .dt-chk.scanning .dt-spin{opacity:1}.ph .dt-tick{position:absolute;inset:0;display:grid;place-items:center;color:var(--ph-green-text);font-size:9px;line-height:1;opacity:0;transform:scale(.6);transition:opacity .25s var(--ph-ease),transform .25s var(--ph-ease)}.ph .dt-chk.done .dt-tick{opacity:1;transform:scale(1)}.ph .dt-card:not(.dt-armed) .dt-chk{color:rgba(255,255,255,.85)}.ph .dt-card:not(.dt-armed) .dt-tick{opacity:1;transform:scale(1)}@keyframes dt-rot{to{transform:rotate(1turn)}}.ph .dt-arrow{position:relative;flex:none;width:18px;display:grid;place-items:center;color:var(--ph-lav);font-size:15px;font-weight:700;opacity:.45;transition:opacity .3s var(--ph-ease)}.ph .dt-arrow.on{opacity:1}.ph .dt-pulse{position:absolute;left:0;top:50%;width:6px;height:6px;margin-top:-3px;border-radius:50%;background:var(--ph-lav);box-shadow:0 0 8px rgba(176,161,255,.9);opacity:0}.ph .dt-zone{position:relative;overflow:hidden;flex:1;border-radius:10px;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.03);color:rgba(255,255,255,.45);padding:11px 4px;text-align:center;font-size:10.5px;cursor:default;transition:color .3s var(--ph-ease),border-color .3s var(--ph-ease),background .3s var(--ph-ease),transform .2s var(--ph-ease)}.ph .dt-card:not(.dt-armed) .dt-zone,.ph .dt-zone.lit{border-color:rgba(176,161,255,.45);background:rgba(118,92,251,.16);color:var(--ph-lav-tint)}.ph .dt-armed .dt-zone.lit{cursor:pointer}.ph .dt-armed .dt-zone.lit:hover,.ph .dt-zone.rolling{border-color:rgba(176,161,255,.8)}.ph .dt-zone.rolling{transform:scale(.96)}.ph .dt-zone.failed{border-color:rgba(255,133,133,.55);background:rgba(255,79,82,.1);color:rgba(255,133,133,.95)}.ph .dt-zone.surge{transform:scale(1.045);border-color:rgba(176,161,255,.85)}.ph .dt-zone.healed{border-color:rgba(46,189,133,.7);color:var(--ph-green-text)}.ph .dt-zone-label{transition:opacity .2s var(--ph-ease)}.ph .dt-zone.failed .dt-zone-label,.ph .dt-zone.healed .dt-zone-label{opacity:0}.ph .dt-swap{position:absolute;inset:0;display:grid;place-items:center;font-size:10px;opacity:0;transition:opacity .2s var(--ph-ease);pointer-events:none}.ph .dt-zone.failed .dt-fail-label{opacity:1}.ph .dt-zone.healed .dt-heal-label{opacity:1;color:var(--ph-green-text)}.ph .dt-respawn{position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--ph-lav);transform:scaleX(0);transform-origin:left;opacity:0}.ph .dt-zone.respawning .dt-respawn{opacity:1}.ph .dt-live{opacity:.4;transition:opacity .4s var(--ph-ease)}.ph .dt-card:not(.dt-armed) .dt-live,.ph .dt-live.on{opacity:1}.ph .dt-livedot{width:8px;height:8px;border-radius:50%;background:rgba(255,255,255,.25);flex:none}.ph .dt-card:not(.dt-armed) .dt-livedot,.ph .dt-live.on .dt-livedot{background:var(--ph-green);animation:ph-pulse 1.8s infinite}.ph .dt-counter{font-size:10.5px;color:rgba(255,255,255,.5)}.ph .dt-counter b{font-weight:500;color:var(--ph-green-text)}.ph .dt-hint{margin-top:10px;text-align:center;font-size:11.5px;color:rgba(255,255,255,.45);opacity:0;transition:opacity .4s var(--ph-ease)}.ph .dt-armed .dt-hint{opacity:1}@media (prefers-reduced-motion:reduce){.ph .dt-live.on .dt-livedot,.ph .dt-livedot,.ph .dt-spin{animation:none!important}.ph .dt-card *{transition:none!important}.ph .dt-hint{opacity:0!important}}.ph .ph-seg{flex:1 1 auto;min-width:118px;padding:12px;border-radius:12px;font-weight:450;font-size:14px;cursor:pointer;transition:all .15s var(--ph-ease);color:#fff;text-align:left;border:1.5px solid rgba(255,255,255,.16);background:rgba(255,255,255,.04)}.ph .ph-seg:hover{border-color:var(--ph-lav-border-2)}.ph .ph-seg[aria-pressed=true]{border:1.5px solid var(--ph-lav);background:rgba(118,92,251,.22)}.ph .ph-seg small{display:block;font-size:11px;font-weight:400;color:rgba(255,255,255,.5);margin-top:2px}.ph .ph-step-btn{width:32px;height:32px;border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.04);border-radius:9px;font-size:18px;font-weight:500;cursor:pointer;color:#fff;line-height:1;transition:border-color .15s var(--ph-ease)}.ph .ph-step-btn:hover:not(:disabled){border-color:var(--ph-lav)}.ph .ph-step-btn:disabled{opacity:.4;cursor:not-allowed}.ph .ph-select{font-weight:450;font-size:13.5px;padding:8px 10px;border:1px solid rgba(255,255,255,.16);border-radius:9px;color:#fff;background:rgba(255,255,255,.06);cursor:pointer}.ph .ph-field{width:100%;font-size:14.5px;padding:12px 13px;border:1px solid rgba(255,255,255,.18);border-radius:10px;color:#fff;background:rgba(255,255,255,.04);transition:border-color .15s var(--ph-ease)}.ph .ph-field::placeholder{color:rgba(255,255,255,.4)}.ph .ph-field:focus{outline:none;border-color:var(--ph-lav)}.ph .ph-field.ph-invalid{border-color:var(--ph-error)}.ph .dt-zone:focus-visible,.ph .ph-checkbox:focus-visible,.ph .ph-faq-trigger:focus-visible,.ph .ph-seg:focus-visible,.ph .ph-select:focus-visible,.ph .ph-step-btn:focus-visible{outline:2px solid var(--ph-lav);outline-offset:2px}.ph.ph-reveal-armed [data-reveal]{opacity:0;transform:translateY(16px);transition:opacity .6s var(--ph-ease),transform .6s var(--ph-ease);will-change:opacity,transform}.ph.ph-reveal-armed [data-reveal].ph-revealed{opacity:1;transform:none;will-change:auto}@media (prefers-reduced-motion:reduce){.ph.ph-reveal-armed [data-reveal]{opacity:1!important;transform:none!important;transition:none!important}.ph .ph-livedot{animation:none!important}}