.btn-shine{--btn-shine-accent:var(--zw-gold,#f4c067);cursor:pointer;text-transform:uppercase;background-color:var(--zw-elevated,#44444b);border:1px solid var(--zw-border,#7c7c83b8);width:auto;max-width:100%;min-height:44px;color:var(--zw-gilt,#fff);font-family:inherit;font-weight:700;font-size:inherit;z-index:0;touch-action:manipulation;border-radius:10px;outline:none;justify-content:center;align-items:center;margin:0;padding:10px 18px;text-decoration:none;transition:border-color .2s,background-color .2s;display:inline-flex;position:relative;overflow:hidden}.btn-shine--block{width:100%;display:flex}.btn-shine span{color:var(--btn-shine-accent);letter-spacing:.08em;text-align:center;z-index:1;font-size:.78rem;font-weight:700;line-height:1.2;position:relative}.btn-shine:disabled{opacity:.45;cursor:wait;pointer-events:none}.btn-shine:not(:disabled):hover{border-color:color-mix(in srgb, var(--btn-shine-accent) 55%, var(--zw-border,#7c7c83b8));animation:.7s ease-in-out both btn-shine-wiggle}.btn-shine:not(:disabled):hover span{animation:.7s ease-in-out 60ms both btn-shine-nudge}.btn-shine:after{background:var(--btn-shine-accent);content:"";opacity:.38;z-index:0;pointer-events:none;width:46px;height:140px;transition:all .55s cubic-bezier(.19,1,.22,1);position:absolute;top:-48px;left:-70px;transform:rotate(35deg)}.btn-shine:not(:disabled):hover:after{left:120%}@keyframes btn-shine-wiggle{0%{transform:rotate(0)translate(0,0)}25%{transform:rotate(2deg)translate(0,0)}50%{transform:rotate(-2deg)translate(0,0)}75%{transform:rotate(1deg)translate(0,0)}to{transform:rotate(0)translate(0,0)}}@keyframes btn-shine-nudge{0%{transform:translate(0,0)}25%{transform:translate(3px)}50%{transform:translate(-2px)}75%{transform:translate(1px)}to{transform:translate(0,0)}}@media (prefers-reduced-motion:reduce){.btn-shine:not(:disabled):hover,.btn-shine:not(:disabled):hover span{animation:none}}.pi-scan.app-tool-window-3d{border:1px solid color-mix(in srgb, var(--border,#c8c8cc38) 55%, #000);border-top-color:color-mix(in srgb, var(--border,#c8c8cc38) 88%, #fff);border-bottom-color:color-mix(in srgb, #000 70%, var(--border,#c8c8cc38));background:linear-gradient(168deg, color-mix(in srgb, var(--surface,#18181b) 78%, #52525b) 0%, color-mix(in srgb, var(--inset,#242426) 94%, #000) 52%, #09090b 100%);border-radius:14px;position:relative;overflow:hidden;box-shadow:0 10px 28px #0000008c,0 4px 10px #0006,inset 0 1px #ffffff24,inset 0 -3px 8px #00000073}.pi-scan.app-tool-window-3d:before{content:"";pointer-events:none;z-index:0;background:linear-gradient(#ffffff24 0%,#ffffff05 100%);border-radius:12px 12px 50% 50%;height:36%;position:absolute;inset:3px 12px auto}.pi-scan.app-tool-window-3d>*{z-index:1;position:relative}:root{--pi-page-max:min(94vw, 28rem);--pi-panel-pad:12px;--pi-alliance-width:6.5rem;--pi-btn-width:100%}html[data-layout-tier=tablet]{--pi-page-max:min(88vw, 36rem);--pi-panel-pad:16px;--pi-alliance-width:7.5rem}html[data-layout-tier=desktop]{--pi-page-max:min(520px, 42vw);--pi-panel-pad:18px;--pi-alliance-width:8rem;--pi-btn-width:auto;--pi-btn-min:12rem}.pi-page{box-sizing:border-box;width:100%;max-width:var(--pi-page-max);margin:0 auto;padding:12px 14px 48px}.pi-hero{text-align:center;margin-bottom:1rem}.pi-eyebrow{letter-spacing:.14em;text-transform:uppercase;color:var(--tool-action-save,#4fa66a);margin:0 0 .35rem;font-size:.68rem;font-weight:800}.pi-title{letter-spacing:.02em;color:var(--text,#fff);text-shadow:0 1px #000000d9;margin:0 0 .5rem;font-size:clamp(1.45rem,5vw,1.75rem);font-weight:800;line-height:1.15}.pi-lede{color:color-mix(in srgb, var(--muted,#c8c8cc) 35%, var(--text,#fff));margin:0;font-size:.88rem;line-height:1.45}.pi-lede strong{color:var(--text,#fff);font-weight:800}.pi-lede code{background:color-mix(in srgb, var(--panel,#18181b) 90%, #000);border:1px solid color-mix(in srgb, var(--border,#c8c8cc38) 60%, transparent);border-radius:4px;padding:.1em .35em;font-size:.88em}.pi-lede a{color:var(--accent,#f4c067);font-weight:700;text-decoration:none}.pi-lede a:hover{text-decoration:underline}.pi-steps{flex-direction:column;gap:8px;margin:0 0 1rem;padding:0;list-style:none;display:flex}.pi-step{border:1px solid color-mix(in srgb, var(--border,#c8c8cc38) 45%, #000);background:color-mix(in srgb, var(--panel,#18181b) 88%, #000);border-radius:10px;grid-template-columns:2rem minmax(0,1fr);align-items:start;gap:10px;padding:10px 10px 10px 8px;display:grid;box-shadow:inset 0 1px #ffffff0f}.pi-step-num{width:2rem;height:2rem;color:color-mix(in srgb, var(--tool-action-save,#4fa66a) 50%, #e8f4ec);background:color-mix(in srgb, var(--tool-action-save,#4fa66a) 18%, #0a0e0b);border:1px solid color-mix(in srgb, var(--tool-action-save,#4fa66a) 40%, transparent);border-radius:8px;justify-content:center;align-items:center;font-size:.85rem;font-weight:800;display:flex}.pi-step-text{color:color-mix(in srgb, var(--muted,#c8c8cc) 25%, var(--text,#fff));font-size:.8rem;line-height:1.45}.pi-step-text strong{color:var(--text,#fff);font-weight:800}.pi-scan{padding:var(--pi-panel-pad);width:100%;margin-bottom:1rem}.pi-scan-inner{flex-direction:column;align-items:flex-start;gap:10px;width:100%;display:flex}.pi-scan-heading{letter-spacing:.12em;text-transform:uppercase;color:color-mix(in srgb, var(--tool-action-save,#4fa66a) 55%, var(--text,#fff));margin:0;font-size:.68rem;font-weight:800}.pi-form{flex-direction:column;align-items:flex-start;gap:10px;width:100%;display:flex}.pi-field{flex-direction:column;gap:4px;width:auto;max-width:100%;display:flex}.pi-field--inline{flex-flow:wrap;align-items:center;gap:8px 10px}.pi-label{letter-spacing:.08em;text-transform:uppercase;color:color-mix(in srgb, var(--muted,#c8c8cc) 50%, var(--text,#fff));white-space:nowrap;margin:0;font-size:.68rem;font-weight:800}.pi-opt{letter-spacing:0;text-transform:none;color:var(--muted,#c8c8cc);font-weight:600}.pi-input{box-sizing:border-box;width:var(--pi-alliance-width);border:1px solid color-mix(in srgb, var(--tool-action-save,#4fa66a) 40%, var(--border,#c8c8cc38));background:color-mix(in srgb, var(--inset,#242426) 92%, #000);max-width:100%;min-height:34px;color:var(--text,#fff);font:inherit;border-radius:6px;padding:6px 8px;font-size:.85rem}.pi-input--alliance{flex:0 0 var(--pi-alliance-width);width:var(--pi-alliance-width)}.pi-input:focus-visible{outline:2px solid color-mix(in srgb, var(--tool-action-save,#4fa66a) 65%, #fff);outline-offset:2px}.pi-field--files{width:100%}.pi-file-row{flex-wrap:wrap;align-items:center;gap:8px;max-width:100%;display:flex}.pi-file-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.pi-file-btn{flex:none;min-height:36px;padding:8px 12px}.pi-file-name{min-width:0;color:var(--muted,#c8c8cc);text-overflow:ellipsis;white-space:nowrap;flex:6rem;font-size:.72rem;line-height:1.3;overflow:hidden}.pi-hint{color:var(--muted,#c8c8cc);margin:0;font-size:.72rem;line-height:1.35}.pi-turnstile{flex-direction:column;align-items:flex-start;gap:4px;width:100%;max-width:100%;display:flex}.pi-turnstile-slot{width:100%;max-width:300px;min-height:36px}.pi-dev-verify{border:1px solid color-mix(in srgb, var(--border,#c8c8cc38) 70%, #000);background:color-mix(in srgb, var(--inset,#242426) 92%, #000);min-height:36px;color:var(--text,#fff);font:inherit;cursor:pointer;border-radius:6px;padding:8px 12px;font-size:.78rem;font-weight:700}.pi-dev-verify:focus-visible{outline:2px solid color-mix(in srgb, var(--tool-action-save,#4fa66a) 65%, #fff);outline-offset:2px}.pi-scan-btn{width:var(--pi-btn-width);min-width:var(--pi-btn-min,10.5rem);margin-top:2px}.pi-scan-btn:disabled{opacity:.45;cursor:not-allowed}.pi-download-btn{width:var(--pi-btn-width);min-width:var(--pi-btn-min,10.5rem);display:inline-flex}.pi-status{border:1px solid color-mix(in srgb, var(--border,#c8c8cc38) 55%, #000);background:color-mix(in srgb, var(--inset,#242426) 88%, #000);border-radius:10px;width:100%;margin:0;padding:10px 12px;font-size:.8rem;font-weight:600;line-height:1.45;display:none}.pi-status.is-visible{display:block}.pi-status.is-ok{border-color:color-mix(in srgb, var(--tool-action-save,#4fa66a) 55%, var(--border));background:color-mix(in srgb, var(--tool-action-save,#4fa66a) 12%, var(--inset,#242426));color:color-mix(in srgb, var(--tool-action-save,#4fa66a) 35%, #e8f4ec)}.pi-status.is-err{border-color:color-mix(in srgb, var(--tool-action-danger,#b34536) 55%, var(--border));background:color-mix(in srgb, var(--tool-action-danger,#b34536) 12%, var(--inset,#242426));color:#f0c4bc}.pi-results{width:100%;margin-bottom:1rem}.pi-results-scroll{border:1px solid color-mix(in srgb, var(--border,#c8c8cc38) 50%, #000);background:color-mix(in srgb, var(--inset,#242426) 94%, #000);border-radius:10px;max-height:min(42dvh,320px);margin-bottom:10px;overflow:auto}.pi-table{border-collapse:collapse;width:100%;font-size:.78rem}.pi-table th,.pi-table td{text-align:left;border-bottom:1px solid #ffffff0f;padding:.35rem .5rem}.pi-table th{letter-spacing:.08em;text-transform:uppercase;color:var(--muted,#c8c8cc);background:color-mix(in srgb, var(--panel,#18181b) 95%, #000);font-size:.68rem;font-weight:800;position:sticky;top:0}.pi-warnings{border:1px solid color-mix(in srgb, var(--tool-action-accent,#f4c067) 45%, transparent);background:color-mix(in srgb, var(--tool-action-accent,#f4c067) 10%, var(--inset,#242426));color:#f4c067;white-space:pre-wrap;border-radius:8px;margin:0 0 10px;padding:10px 12px;font-size:.75rem;line-height:1.45}.pi-results-actions{flex-direction:column;align-items:flex-start;gap:8px;display:flex}.pi-after{color:var(--muted,#c8c8cc);text-align:left;margin:10px 0 0;font-size:.78rem;line-height:1.45}.pi-after a{color:var(--accent,#f4c067);font-weight:700;text-decoration:none}.pi-aside{border-top:1px solid color-mix(in srgb, var(--border,#c8c8cc38) 35%, transparent);padding-top:.5rem}.pi-aside-note{color:color-mix(in srgb, var(--muted,#c8c8cc) 80%, var(--text,#fff));margin:0 0 .65rem;font-size:.76rem;line-height:1.5}.pi-aside-note a{color:var(--accent,#f4c067);font-weight:700;text-decoration:none}.pi-scan.app-tool-window-3d{width:100%}@media (prefers-reduced-motion:reduce){.btn-shine:not(:disabled):hover,.btn-shine:not(:disabled):hover span{animation:none}}
