@import url("https://fonts.googleapis.com/css2?family=Bricolage+Grotesque:opsz,wght@12..96,400;12..96,600;12..96,800&family=Inter:wght@400;500;600&family=JetBrains+Mono:wght@400;500&display=swap");.pchat{--violet:#4f39ef;--purple:#9747ff;--green:#5d9e7a;--rose:#e44f75;--ink:#0a0a0a;--paper:#fff;--line:hsla(0,0%,4%,.12);--line-soft:hsla(0,0%,4%,.07);--muted:hsla(0,0%,4%,.52);--display:"Bricolage Grotesque","Segoe UI",system-ui,sans-serif;--body:"Inter",system-ui,-apple-system,sans-serif;--mono:"JetBrains Mono",ui-monospace,"SF Mono",Menlo,monospace;background:var(--paper);color:var(--ink);font-family:var(--body);font-size:15px;line-height:1.6;-webkit-font-smoothing:antialiased;display:flex;flex-direction:column;height:100dvh;max-width:820px;margin:0 auto;position:relative}.pchat *,.pchat :after,.pchat :before{box-sizing:border-box}.pchat ::-moz-selection{background:var(--violet);color:#fff}.pchat ::selection{background:var(--violet);color:#fff}.pchat :focus-visible{outline:2px solid var(--rose);outline-offset:3px;border-radius:4px}.pchat header{justify-content:space-between;gap:16px;padding:16px 24px;border-bottom:1px solid var(--line);background:var(--paper);flex:0 0 auto}.pchat .id,.pchat header{display:flex;align-items:center}.pchat .id{gap:11px;min-width:0}.pchat .id h1{font-family:var(--display);font-size:16px;font-weight:600;margin:0;letter-spacing:-.01em;white-space:nowrap}.pchat .id .role{overflow:hidden;text-overflow:ellipsis}.pchat .id .role,.pchat .status{font-family:var(--mono);font-size:11px;color:var(--muted);white-space:nowrap}.pchat .status{display:flex;align-items:center;gap:7px}.pchat .beacon{width:7px;height:7px;border-radius:50%;background:var(--green);box-shadow:0 0 0 0 rgba(93,158,122,.55);animation:pchat-pulse 2.6s infinite}@keyframes pchat-pulse{70%{box-shadow:0 0 0 7px rgba(93,158,122,0)}to{box-shadow:0 0 0 0 rgba(93,158,122,0)}}.pchat .mark{width:16px;height:16px;flex:0 0 auto;display:grid;grid-template:1fr 1fr/1fr 1fr;gap:2px}.pchat .mark i{border-radius:1.5px;transition:background .45s ease,transform .45s ease}.pchat .mark i:first-child{background:var(--violet)}.pchat .mark i:nth-child(2){background:var(--purple)}.pchat .mark i:nth-child(3){background:var(--green)}.pchat .mark i:nth-child(4){background:var(--rose)}.pchat .mark.big{width:22px;height:22px}.pchat .mark.thinking i{animation:pchat-scramble 1.15s steps(1) infinite}.pchat .mark.thinking i:nth-child(2){animation-delay:.28s}.pchat .mark.thinking i:nth-child(3){animation-delay:.56s}.pchat .mark.thinking i:nth-child(4){animation-delay:.84s}@keyframes pchat-scramble{0%{background:var(--violet)}25%{background:var(--purple)}50%{background:var(--green)}75%{background:var(--rose)}to{background:var(--violet)}}.pchat .stream{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:40px 24px 24px;scroll-behavior:smooth;scrollbar-width:none;-ms-overflow-style:none}.pchat .stream::-webkit-scrollbar{display:none;width:0;height:0}.pchat .hero{margin:8px 0 44px}.pchat .hero .eyebrow{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:18px}.pchat .hero h2{font-family:var(--display);font-weight:400;font-size:clamp(30px,6.4vw,46px);line-height:1.08;letter-spacing:-.025em;margin:0;max-width:15ch}.pchat .hero h2 b{font-weight:800}.pchat .hero h2 em{font-style:normal;color:var(--violet)}.pchat .hero p{color:var(--muted);max-width:44ch;margin:18px 0 0}.pchat .msg{margin-bottom:30px;animation:pchat-rise .4s cubic-bezier(.2,.7,.3,1) both}@keyframes pchat-rise{0%{opacity:0;transform:translateY(10px)}}.pchat .msg.me{display:flex;justify-content:flex-end}.pchat .msg.me .bubble{background:var(--violet);color:#fff;padding:10px 16px;border-radius:16px 16px 4px 16px;max-width:78%;font-weight:500}.pchat .msg.bot{display:flex;gap:14px;align-items:flex-start}.pchat .msg.bot .mark{margin-top:5px}.pchat .msg.bot .said{min-width:0;flex:1}.pchat .said p{margin:0 0 12px}.pchat .said p:last-child{margin-bottom:0}.pchat .said strong{font-weight:600}.pchat .said a:not(.btn):not(.row){color:var(--rose);text-decoration:none;border-bottom:1px solid rgba(228,79,117,.35)}.pchat .said a:not(.btn):not(.row):hover{border-bottom-color:var(--rose)}.pchat .said code{font-family:var(--mono);font-size:.86em;background:hsla(0,0%,4%,.05);padding:1px 5px;border-radius:4px}.pchat .set{margin-top:18px}.pchat .set-label{font-family:var(--mono);font-size:10.5px;letter-spacing:.13em;text-transform:uppercase;color:var(--muted);margin-bottom:10px}.pchat .cards{display:grid;gap:10px}.pchat .card{position:relative;border:1px solid var(--line);border-radius:14px;padding:16px 18px 16px 20px;background:var(--paper);overflow:hidden;transition:border-color .2s,transform .2s,box-shadow .2s}.pchat .card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--c,var(--violet))}.pchat .card:hover{transform:translateY(-2px);border-color:hsla(0,0%,4%,.2);box-shadow:0 8px 22px -14px hsla(0,0%,4%,.3)}.pchat .card .top{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.pchat .card h4{font-family:var(--display);font-size:16px;font-weight:600;letter-spacing:-.01em;margin:0}.pchat .card .when{font-family:var(--mono);font-size:11px;color:var(--muted);white-space:nowrap}.pchat .card .where{font-size:13px;color:var(--c,var(--violet));font-weight:500;margin:3px 0 0}.pchat .card .desc{font-size:13.5px;color:hsla(0,0%,4%,.72);margin:9px 0 0}.pchat .tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}.pchat .tag{font-family:var(--mono);font-size:10.5px;padding:3px 8px;border-radius:20px;border:1px solid var(--line);color:var(--muted)}.pchat .card.link-card{cursor:pointer}.pchat .card .go{font-family:var(--mono);font-size:11px;color:var(--rose);margin-top:12px;display:inline-block}.pchat .card .go:after{content:" →";transition:margin .2s}.pchat .card.link-card:hover .go:after{margin-left:4px}.pchat .file{display:flex;align-items:center;gap:16px;padding-left:20px}.pchat .file .badge{width:44px;height:54px;flex:0 0 auto;border-radius:6px;background:var(--rose);color:#fff;display:flex;align-items:flex-end;justify-content:center;padding-bottom:6px;font-family:var(--mono);font-size:10px;font-weight:500;letter-spacing:.06em;box-shadow:inset -8px 8px 0 hsla(0,0%,100%,.16)}.pchat .file .meta{flex:1;min-width:0}.pchat .file .meta h4{margin-bottom:2px}.pchat .file .meta span{font-family:var(--mono);font-size:11px;color:var(--muted)}.pchat .btn{font-family:var(--mono);font-size:11.5px;padding:8px 14px;border-radius:9px;border:1px solid var(--ink);background:var(--ink);color:#fff;cursor:pointer;text-decoration:none;white-space:nowrap;transition:.2s}.pchat .btn:hover:not(:disabled){background:var(--rose);border-color:var(--rose)}.pchat .btn:disabled,.pchat .btn[aria-disabled=true]{opacity:.45;cursor:default;pointer-events:none}.pchat .btn.ghost{background:transparent;color:var(--ink);border-color:var(--line)}.pchat .btn.ghost:hover{background:transparent;color:var(--rose);border-color:var(--rose)}.pchat .skillset{border:1px solid var(--line);border-radius:14px;padding:16px 18px;margin:0}.pchat .skillrow{display:grid;grid-template-columns:110px 1fr;gap:14px;padding:11px 0;border-bottom:1px solid var(--line-soft)}.pchat .skillrow:first-child{padding-top:0}.pchat .skillrow:last-child{border-bottom:0;padding-bottom:0}.pchat .skillrow dt{font-family:var(--mono);font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);padding-top:3px}.pchat .skillrow dd{margin:0;display:flex;flex-wrap:wrap;gap:6px}.pchat .chipx{font-size:12.5px;padding:3px 10px;border-radius:20px;background:rgba(79,57,239,.07);color:var(--violet);font-weight:500}.pchat .rows{border:1px solid var(--line);border-radius:14px;overflow:hidden}.pchat .row{display:flex;align-items:center;gap:14px;padding:13px 18px;border-bottom:1px solid var(--line-soft);text-decoration:none;color:var(--ink)}.pchat .row:last-child{border-bottom:0}.pchat .row:hover{background:hsla(0,0%,4%,.02)}.pchat .row .k{font-family:var(--mono);font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);width:76px;flex:0 0 auto}.pchat .row .v{font-size:14px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pchat .row .arrow{margin-left:auto;color:var(--rose);font-family:var(--mono);font-size:12px}.pchat .dock{flex:0 0 auto;padding:0 24px 20px;background:linear-gradient(to bottom,hsla(0,0%,100%,0),var(--paper) 22px)}.pchat .chips{display:flex;gap:8px;overflow-x:auto;padding:14px 0 12px;scrollbar-width:none}.pchat .chips::-webkit-scrollbar{display:none}.pchat .chip{display:inline-flex;align-items:center;gap:7px;flex:0 0 auto;cursor:pointer;font-family:var(--mono);font-size:11.5px;padding:7px 13px;border-radius:22px;border:1px solid var(--line);background:var(--paper);color:var(--ink);transition:.2s}.pchat .chip i{width:6px;height:6px;border-radius:50%;background:var(--c)}.pchat .chip:hover{border-color:var(--ink);transform:translateY(-1px)}.pchat .chip[disabled]{opacity:.4;cursor:default;transform:none}.pchat form{display:flex;align-items:flex-end;gap:10px;border:1px solid var(--line);border-radius:16px;padding:8px 8px 8px 18px;transition:border-color .2s}.pchat form:focus-within{border-color:var(--ink)}.pchat textarea{flex:1;border:0;resize:none;font-family:var(--body);font-size:15px;line-height:1.5;padding:9px 0;max-height:132px;background:transparent;color:var(--ink)}.pchat textarea:focus{outline:0}.pchat textarea::-moz-placeholder{color:hsla(0,0%,4%,.38)}.pchat textarea::placeholder{color:hsla(0,0%,4%,.38)}.pchat .send{width:38px;height:38px;flex:0 0 auto;border:0;border-radius:11px;background:var(--ink);color:#fff;cursor:pointer;font-size:16px;display:grid;place-items:center;transition:.2s}.pchat .send:hover:not(:disabled){background:var(--rose)}.pchat .send:disabled{opacity:.25;cursor:default}.pchat .foot{font-family:var(--mono);font-size:10px;color:hsla(0,0%,4%,.34);text-align:center;margin:10px 0 0}@media (max-width:560px){.pchat header{padding:14px 18px}.pchat .id .role{display:none}.pchat .stream{padding:28px 18px 16px}.pchat .dock{padding:0 18px 16px}.pchat .skillrow{grid-template-columns:1fr;gap:8px}}@media (prefers-reduced-motion:reduce){.pchat *,.pchat :after,.pchat :before{animation:none!important;transition:none!important;scroll-behavior:auto}}