.page-hash .pc-hero-grid{grid-template-areas:"title""intro""tool""steps"}@media (width>=64rem){.page-hash .pc-hero-grid{grid-template-rows:auto auto 1fr;grid-template-areas:"title.""intro tool""steps tool"}}.page-hash .ph-tabs{border-radius:var(--radius-input);background:var(--pc-soft-bg);grid-template-columns:1fr 1fr;gap:.4rem;margin:0 0 1.5rem;padding:.3rem;display:grid}.page-hash .ph-tab{min-height:44px;color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;padding:0 1rem;font-weight:600}.page-hash .ph-tab:hover:not(:disabled){color:var(--text)}.page-hash .ph-tab[aria-selected=true]{border-color:var(--border-strong);background:var(--surface);color:var(--text);font-weight:700;box-shadow:0 1px 2px #0428211a}.page-hash .ph-tab:disabled{cursor:default}.page-hash .ph-bytes{color:var(--muted);margin:.5rem 0 0;font-size:.9rem}.page-hash .ph-bytes #ph-bytes-count{color:var(--text);font-variant-numeric:tabular-nums;font-weight:700}.page-hash .ph-bytes[data-over=true],.page-hash .ph-bytes[data-over=true] #ph-bytes-count{color:var(--very-weak)}.page-hash .ph-problem{border-left:3px solid var(--very-weak);color:var(--text);margin:.5rem 0 0;padding-left:.75rem;font-size:.93rem}.page-hash .ph-note{border-left:3px solid var(--border-strong);color:var(--muted);margin:.5rem 0 0;padding-left:.75rem;font-size:.9rem}.page-hash .ph-panel{margin-top:1.25rem}.page-hash .ph-fieldset{border:0;min-width:0;margin:0 0 .75rem;padding:0}.page-hash .ph-fieldset legend{margin-bottom:.4rem;padding:0;font-weight:600}.page-hash .ph-choices{grid-template-columns:1fr 1fr;gap:.5rem;display:grid}.page-hash .ph-choice,.page-hash .ph-seg{display:block;position:relative}.page-hash .ph-choice input,.page-hash .ph-seg input{opacity:0;cursor:pointer;width:100%;height:100%;margin:0;position:absolute;inset:0}.page-hash .ph-choice span{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);height:100%;padding:.65rem .8rem;display:block}.page-hash .ph-choice b{font-size:1rem;display:block}.page-hash .ph-choice small{color:var(--muted);font-size:.82rem;line-height:1.35;display:block}.page-hash .ph-seg span{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);font-variant-numeric:tabular-nums;justify-content:center;align-items:center;min-height:44px;display:flex}.page-hash .ph-choice input:hover+span,.page-hash .ph-seg input:hover+span{border-color:var(--border-strong)}.page-hash .ph-choice input:checked+span,.page-hash .ph-seg input:checked+span{border:2px solid var(--accent);background:var(--accent-soft)}.page-hash .ph-choice input:checked+span{padding:calc(.65rem - 1px) calc(.8rem - 1px)}.page-hash .ph-seg input:checked+span{color:var(--accent-hover);font-weight:700}.page-hash .ph-choice input:focus-visible+span,.page-hash .ph-seg input:focus-visible+span{outline:3px solid var(--focus);outline-offset:2px}.page-hash .ph-choice input:disabled,.page-hash .ph-seg input:disabled{cursor:default}.page-hash .ph-segments{grid-template-columns:repeat(5,minmax(0,1fr));gap:.4rem;max-width:20rem;display:grid}.page-hash .ph-hint{color:var(--muted);margin:.5rem 0 0;font-size:.9rem}.page-hash .ph-mono{font-family:var(--mono);font-size:.92em}.page-hash .ph-hash-input{border:1px solid var(--border-strong);border-radius:var(--radius-input);background:var(--surface);width:100%;min-height:5.5rem;color:var(--text);font-family:var(--mono);resize:vertical;word-break:break-all;padding:.75rem 1rem;font-size:.95rem;line-height:1.45;display:block}.page-hash .ph-hash-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:none}.page-hash .ph-hash-input::placeholder{color:var(--muted);opacity:1}.page-hash .ph-hash-status{border-left:3px solid var(--accent);margin:.5rem 0 0;padding-left:.75rem;font-size:.92rem}.page-hash .ph-hash-status[data-kind=warning]{border-left-color:var(--fair)}.page-hash .ph-hash-status[data-kind=error]{border-left-color:var(--very-weak)}.page-hash .ph-confirm{border-radius:var(--radius-sm);background:#fdf2dc;margin-top:1rem;padding:.9rem 1rem}.page-hash .ph-confirm p{margin:0}.page-hash .ph-confirm .ph-actions{margin-top:.75rem}.page-hash .ph-button{border:1px solid var(--accent);border-radius:var(--radius-input);background:var(--surface);min-height:44px;color:var(--accent);font:inherit;cursor:pointer;padding:0 1.25rem;font-weight:600}.page-hash .ph-button:hover:not(:disabled){border-color:var(--accent-hover);background:var(--accent-soft);color:var(--accent-hover)}.page-hash .ph-button-primary{background:var(--accent);color:#fff}.page-hash .ph-button-primary:hover:not(:disabled){background:var(--accent-hover);color:#fff}.page-hash .ph-button:disabled{opacity:.55;cursor:default}.page-hash .ph-action{width:100%;min-height:48px;margin-top:1.25rem;font-size:1.05rem}.page-hash .ph-actions{flex-wrap:wrap;gap:.6rem;display:flex}.page-hash .ph-running{border-top:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem 1rem;margin-top:1.25rem;padding-top:1.25rem;display:flex}.page-hash .ph-running[hidden]{display:none}.page-hash .ph-running-text{align-items:center;gap:.6rem;margin:0;font-weight:600;display:flex}.page-hash .ph-busy{background:var(--accent);width:.7rem;height:.7rem;box-shadow:0 0 0 3px var(--surface), 0 0 0 4px var(--accent);border-radius:50%;flex:none}@media (prefers-reduced-motion:no-preference){.page-hash .ph-busy{animation:1.1s ease-in-out infinite ph-busy}}@keyframes ph-busy{50%{opacity:.3}}.page-hash .ph-message{border-top:1px solid var(--border);margin:1.25rem 0 0;padding:1.25rem 0 0}.page-hash .ph-message[data-kind=error]{color:var(--text)}.page-hash .ph-message[data-kind=info]{color:var(--muted)}.page-hash .ph-result{border-top:1px solid var(--border);margin-top:1.5rem;padding-top:1.5rem}.page-hash .ph-result-label{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;margin:0 0 .5rem;font-size:.78rem;font-weight:700}.page-hash .ph-output{border-radius:var(--radius-sm);background:var(--accent-soft);font-family:var(--mono);overflow-wrap:anywhere;user-select:all;margin:0 0 1rem;padding:.9rem 1rem;font-size:.95rem;font-weight:600;line-height:1.5}.page-hash .ph-copy-status{min-height:1.5rem;color:var(--accent-hover);margin:.4rem 0 0;font-size:.95rem;font-weight:600}.page-hash .ph-verdict-text{letter-spacing:-.02em;margin:0;padding-left:2rem;font-size:clamp(1.35rem,5vw,1.6rem);font-weight:700;line-height:1.25;position:relative}.page-hash .ph-verdict-text:before{content:"";box-sizing:border-box;border-radius:50%;width:.85rem;height:.85rem;position:absolute;top:.45em;left:.2rem}.page-hash .ph-verdict[data-match=true] .ph-verdict-text{color:var(--very-strong)}.page-hash .ph-verdict[data-match=true] .ph-verdict-text:before{background:var(--very-strong);box-shadow:0 0 0 3px var(--surface), 0 0 0 4.5px var(--very-strong)}.page-hash .ph-verdict[data-match=false] .ph-verdict-text{color:var(--very-weak)}.page-hash .ph-verdict[data-match=false] .ph-verdict-text:before{border:2px solid var(--very-weak);background:var(--surface)}.page-hash .ph-breakdown{border-bottom:0;padding-bottom:1rem}.page-hash .ph-parts{border-top:1px solid var(--border);margin:0}.page-hash .ph-part{border-bottom:1px solid var(--border);gap:.15rem;padding:.6rem 0;display:grid}.page-hash .ph-part dt{color:var(--muted);font-size:.88rem}.page-hash .ph-part dd{gap:.1rem;min-width:0;margin:0;display:grid}.page-hash .ph-part code{overflow-wrap:anywhere;justify-self:start;max-width:100%;font-size:.88rem}.page-hash .ph-part dd span{font-size:.92rem}@media (width>=30rem){.page-hash .ph-part{grid-template-columns:7.5rem minmax(0,1fr);gap:1rem}}.page-hash .ph-local{color:var(--muted);align-items:baseline;gap:.55rem;margin:0;font-size:.9rem;display:flex}.page-hash .ph-local-point{background:var(--accent);border-radius:50%;flex:none;width:.5rem;height:.5rem}.page-hash .ph-anatomies{gap:2.5rem;display:grid}.page-hash .ph-anatomy{min-width:0;margin:0}.page-hash .ph-anatomy-title{color:var(--accent-hover);font:700 .8rem var(--mono);letter-spacing:.08em;text-transform:uppercase;margin:0 0 .75rem}.page-hash .ph-anatomy-string{border-radius:var(--radius-sm);background:var(--pc-soft-bg);font:1rem/2.1 var(--mono);overflow-wrap:anywhere;margin:0 0 1.25rem;padding:1rem 1.1rem}.page-hash .ph-sep{color:var(--muted)}.page-hash .ph-mark{border-bottom:2px solid var(--accent)}.page-hash .ph-mark[data-n="2"],.page-hash .ph-mark[data-n="4"],.page-hash .ph-mark[data-n="6"]{border-bottom-color:var(--fair)}.page-hash .ph-mark:after{content:attr(data-n);color:var(--accent-hover);font:700 .65em var(--font);vertical-align:super;margin-left:.1em}.page-hash .ph-anatomy-parts{counter-reset:ph-part;margin:0;padding:0;list-style:none;position:relative}.page-hash .ph-anatomy-parts li{border-top:1px solid var(--border);counter-increment:ph-part;gap:.1rem;padding:.55rem 0 .55rem 2.1rem;display:grid;position:relative}.page-hash .ph-anatomy-parts li:before{content:counter(ph-part);border:1.5px solid var(--accent);width:1.4rem;height:1.4rem;color:var(--accent-hover);border-radius:50%;place-items:center;font-size:.75rem;font-weight:700;line-height:1;display:grid;position:absolute;top:.6rem;left:0}.page-hash .ph-anatomy-parts b{font-size:.97rem}.page-hash .ph-anatomy-parts span{color:var(--muted);font-size:.92rem}@media (width>=64rem){.page-hash .ph-anatomies{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:4rem}}.page-hash .ph-compare{border-top:1px solid var(--border);margin:0;padding:0;list-style:none;display:grid}.page-hash .ph-compare li{border-bottom:1px solid var(--border);gap:.5rem;padding:1.4rem 0;display:grid}.page-hash .ph-compare p{max-width:46rem;margin:0}.page-hash .ph-compare-name b{font-size:1.2rem;line-height:1.3;display:block}.page-hash .ph-compare-name span{color:var(--accent-hover);font-size:.9rem;font-weight:600;display:block}.page-hash .ph-compare li:last-child .ph-compare-name span{color:var(--muted)}@media (width>=48rem){.page-hash .ph-compare li{grid-template-columns:14rem minmax(0,1fr);gap:2rem}}.page-hash .ph-compare-foot{margin-left:0!important}.page-hash .ph-learn-after-soft{padding-top:1.5rem}@media (width>=64rem){.page-hash .ph-learn-after-soft{padding-top:2rem}.page-hash .ph-learn-after-soft .pc-learn-grid:before{display:none}}.page-hash .ph-learn-after-soft .pc-learn-grid>div:first-child{border-top:0}.page-hash .ph-limits{border-top:1px solid var(--border)}@media (width>=48rem){.page-hash .ph-limits-list li{grid-template-columns:10rem minmax(0,1fr)}}.page-hash .ph-limits-list{max-width:60rem}
