.ps{border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface);box-shadow:var(--inset), var(--panel-sh);grid-template-columns:1fr 1fr;display:grid;overflow:hidden}.ps-half{flex-direction:column;min-width:0;min-height:470px;padding:30px 30px 32px;display:flex;position:relative}.ps-half.problem{background:var(--bg-2);border-right:1px solid var(--line)}.ps-half.solution{background:radial-gradient(85% 55% at 84% 6%, color-mix(in srgb, var(--orange) 22%, transparent), transparent 60%), linear-gradient(158deg, color-mix(in srgb, var(--orange) 13%, var(--surface)) 0%, color-mix(in srgb, var(--orange) 5%, var(--surface)) 52%, var(--surface) 100%)}.ps-half.solution:after{content:"";pointer-events:none;background:radial-gradient(60% 40% at 88% 4%, color-mix(in srgb, var(--orange) 18%, transparent), transparent 70%);opacity:0;transition:opacity var(--dur-slow) var(--ease-out);position:absolute;inset:0}.ps.active .ps-half.solution:after{opacity:1}.ps-ey{font-family:var(--mono);font-size:var(--fs-mono-xs);letter-spacing:var(--ls-mono);text-transform:uppercase;align-items:center;gap:9px;display:inline-flex}.ps-ey:before{content:"";border-radius:var(--r-pill);width:7px;height:7px}.ps-ey.bad{color:var(--tx-mute)}.ps-ey.bad:before{background:var(--deny)}.ps-ey.good{color:var(--orange)}.ps-ey.good:before{background:var(--orange)}.ps-title{font-family:var(--disp);font-weight:var(--fw-disp);letter-spacing:var(--ls-h2);font-size:clamp(23px,2.5vw,31px);line-height:var(--lh-h2);margin:13px 0 0}.ps-half.problem .ps-title{color:var(--tx-dim)}.ps-half.solution .ps-title{color:var(--tx)}.ps-title em{color:var(--orange);font-style:normal;font-weight:400}.ps-doc{border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);margin-top:26px;overflow:hidden}.ps-bar{border-bottom:1px solid var(--line);background:var(--surface-2);align-items:center;gap:9px;padding:9px 12px;display:flex}.ps-bar .d{gap:5px;display:inline-flex}.ps-bar .d i{border-radius:var(--r-pill);background:var(--ghost);width:8px;height:8px}.ps-bar .url{font-family:var(--mono);font-size:var(--fs-2xs);color:var(--tx-mute);background:var(--bg-2);border:1px solid var(--line);border-radius:var(--r-xs);text-overflow:ellipsis;white-space:nowrap;padding:3px 10px;overflow:hidden}.ps-doc-body{padding:var(--sp-4)}.ps-doc-h{align-items:center;gap:10px;display:flex}.ps-doc-h h4{font-family:var(--disp);font-weight:500;font-size:var(--fs-body-sm);color:var(--tx-dim);margin:0}.ps-stale{font-family:var(--mono);font-size:var(--fs-3xs);color:#d98a1f;border-radius:var(--r-pill);white-space:nowrap;background:#e5a02a24;align-items:center;gap:5px;margin-left:auto;padding:3px 9px;display:inline-flex}.ps-stale svg{width:10px;height:10px}.ps-broken{border:1px dashed color-mix(in srgb, var(--deny) 40%, var(--line-strong));border-radius:var(--r-card);background:color-mix(in srgb, var(--deny) 6%, transparent);font-family:var(--mono);font-size:var(--fs-mono-xs);color:var(--deny);justify-content:center;align-items:center;gap:10px;margin-top:14px;padding:24px 12px;display:flex}.ps-broken svg{width:18px;height:18px}.ps-steps{counter-reset:s;flex-direction:column;gap:9px;margin:15px 0 0;padding:0;list-style:none;display:flex}.ps-steps li{font-size:var(--fs-label);color:var(--tx-mute);grid-template-columns:16px 1fr;gap:8px;line-height:1.45;display:grid}.ps-steps li:before{counter-increment:s;content:counter(s) ".";font-family:var(--mono);color:var(--tx-mute)}.ps-doc-foot{justify-content:space-between;gap:var(--sp-3);padding-top:var(--sp-3);border-top:1px solid var(--line);font-family:var(--mono);font-size:var(--fs-2xs);color:var(--tx-mute);margin-top:15px;display:flex}.ps-chat{border:1px solid var(--line-strong);border-radius:var(--r-lg);background:var(--surface);box-shadow:var(--inset), var(--panel-sh);margin-top:auto;overflow:hidden}.ps-chat-body{padding:var(--sp-4);gap:var(--sp-3);grid-template-columns:22px 1fr;display:grid}.ps-chat-ic{width:22px;height:22px;color:var(--orange)}.ps-chat-ic svg{width:22px;height:22px;display:block}.ps-chat-msg{font-size:var(--fs-body-sm);color:var(--tx);line-height:1.5}.ps-chip{font-family:var(--mono);font-size:var(--fs-label);color:var(--orange);background:color-mix(in srgb, var(--orange) 12%, transparent);border-radius:var(--r-xs);white-space:nowrap;padding:1px 6px}.ps-grant-row{font-family:var(--mono);font-size:var(--fs-label);color:var(--allow);align-items:center;gap:7px;margin-top:11px;display:inline-flex}.ps-grant-row svg{width:13px;height:13px}.ps-chat-foot{justify-content:space-between;align-items:center;gap:var(--sp-3);border-top:1px solid var(--line);background:var(--bg-2);padding:12px 14px 12px 16px;display:flex}.ps-pwr{font-family:var(--mono);font-size:var(--fs-mono-xs);color:var(--tx-mute);align-items:center;gap:6px;display:inline-flex}.ps-btn{align-items:center;gap:var(--sp-2);background-color:var(--orange);color:var(--btn-ink);border-radius:var(--r-pill);font-family:var(--body);font-size:var(--fs-sm);cursor:pointer;box-shadow:var(--cta-glow);transition:transform var(--dur-fast) var(--ease-out);white-space:nowrap;border:0;padding:9px 16px;font-weight:600;display:inline-flex}.ps-btn:hover{transform:translateY(-1px)}.ps-btn:disabled{cursor:default}.ps-btn.done{background-color:var(--allow);box-shadow:none}.ps-btn.done:hover{transform:none}.ps-btn svg{width:15px;height:15px}.ps-reset{color:var(--tx-mute);font-family:var(--mono);font-size:var(--fs-mono-xs);cursor:pointer;background:0 0;border:0;align-items:center;gap:5px;padding:0;display:inline-flex}.ps-reset:hover{color:var(--tx-dim)}.ps-reset svg{width:12px;height:12px}.ps-run-h{font-size:var(--fs-sm);color:var(--tx-dim);margin-bottom:var(--sp-3);line-height:1.45}.ps-steps2{flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}.ps-step2{grid-template-columns:20px 1fr;align-items:center;gap:11px;padding:6px 0;display:grid}.ps-step2 .ic{place-items:center;width:20px;height:20px;display:grid}.ps-step2 .ring{border-radius:var(--r-pill);border:1.6px solid var(--line-strong);width:13px;height:13px}.ps-step2 .spin{border-radius:var(--r-pill);border:2px solid color-mix(in srgb, var(--orange) 24%, var(--line-strong));border-top-color:var(--orange);width:16px;height:16px;animation:ps-spin .7s var(--ease-linear) infinite}.ps-step2 .chk{border-radius:var(--r-pill);background:var(--allow-bg);width:20px;height:20px;color:var(--allow);animation:ps-pop var(--dur) cubic-bezier(.34, 1.56, .64, 1);place-items:center;display:grid}.ps-step2 .chk svg{width:11px;height:11px}.ps-step2 .lbl{font-size:var(--fs-sm);color:var(--tx-mute);transition:color var(--dur) var(--ease-out);line-height:1.35}.ps-step2.running .lbl{color:var(--tx)}.ps-step2.done .lbl{color:var(--tx-dim)}.ps-step2 .cmd{font-family:var(--mono);font-size:var(--fs-mono);color:var(--orange)}.ps-summary{align-items:center;gap:var(--sp-3);border:1px solid color-mix(in srgb, var(--allow) 32%, var(--line));border-radius:var(--r-card);background:var(--allow-bg);opacity:0;margin-top:14px;padding:12px 14px;display:flex;transform:translateY(6px)}.ps-summary.show{opacity:1;transition:opacity .4s var(--ease-out), transform .4s var(--ease-out);transform:none}.ps-summary .big{border-radius:var(--r-sm);background:var(--allow);width:32px;height:32px;color:var(--btn-ink);flex:none;place-items:center;display:grid}.ps-summary .big svg{width:17px;height:17px}.ps-summary .t{font-size:var(--fs-sm);color:var(--tx);font-weight:600;line-height:1.2}.ps-summary .s{font-family:var(--mono);font-size:var(--fs-mono-xs);color:var(--tx-dim);margin-top:3px}.ps-btn .mini-spin{border-radius:var(--r-pill);border:2px solid color-mix(in srgb, var(--btn-ink) 35%, transparent);border-top-color:var(--btn-ink);width:13px;height:13px;animation:ps-spin .7s var(--ease-linear) infinite}@keyframes ps-spin{to{transform:rotate(360deg)}}@keyframes ps-pop{0%{opacity:0;transform:scale(.4)}to{opacity:1;transform:scale(1)}}@media (max-width:820px){.ps{grid-template-columns:1fr}.ps-half{min-height:0}.ps-half.problem{border-right:0;border-bottom:1px solid var(--line)}.ps-chat{margin-top:26px}}@media (prefers-reduced-motion:reduce){.ps-btn:hover{transform:none}.ps-step2 .spin,.ps-btn .mini-spin,.ps-step2 .chk{animation:none}.ps-summary.show{transition:none}}.ps-step2.fail .lbl{color:var(--deny)}.ps-step2 .chk.fail{background:var(--deny-bg);color:var(--deny)}
