.pj{position:relative;width:100%;background:var(--bg-primary);color:var(--fg-primary);font-family:var(--font-sans);-webkit-font-smoothing:antialiased}.pj *{box-sizing:border-box}.pj .ph__masthead-eyebrow{color:var(--fg-secondary)}.pj__hero-wall.is-active{opacity:.22}.pj__hero-wall .l{display:block}.pj__hero-wall .l .prompt{color:var(--accent);margin-right:8px}.pj__hero-wall .l .dim{color:var(--fg-secondary)}.pj__hero-wall .l .accent{color:var(--accent)}.pj__hero-wall .l .warm{color:var(--fg-secondary)}.pj__hero-title .dim{color:var(--fg-secondary);font-style:italic}@keyframes pj-fadein{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.pj .ph__band-num{color:var(--accent)}.pj__tile.big{grid-column:1;min-height:460px}.pj__tile.small{grid-column:2}@media (max-width: 820px){.pj__tile.big,.pj__tile.small{grid-column:1;min-height:360px}}.pj__mat-code .l{display:block}.pj__logstrip-track .sep{color:var(--fg-secondary);margin:0 18px;opacity:.5}.pj__logstrip-track .item{padding-right:18px}.pj__logstrip-track .ts{color:var(--fg-secondary);margin-right:10px}.pj__logstrip-track .ok{color:var(--success);margin-right:10px}@keyframes pj-marquee{0%{transform:translate(0)}to{transform:translate(-50%)}}.pj__spec dd.hi{color:var(--fg-heading)}.pjx-hero__shot .demo{position:absolute;top:0;right:0;bottom:0;left:0}.pjx-hero__shot .demo--canvas canvas{display:block;width:100%;height:100%}.pjx-hero__shot .demo--cube{display:flex;flex-direction:column}.pjx-hero__shot .cube-stage{position:relative;flex:1 1 auto;min-height:0}.pjx-hero__shot .cube-cv{display:block;width:100%;height:100%}.pjx-hero__shot .cube-chat{flex:0 0 auto;font-family:var(--font-mono);text-align:center;padding:0 18px 18px}.pjx-hero__shot .cube-chat__row{display:flex;align-items:center;gap:8px;justify-content:center;font-size:.82rem;flex-wrap:wrap;line-height:1.35}.pjx-hero__shot .cube-chat__who{color:var(--accent)}.pjx-hero__shot .cube-chat__arrow{color:var(--fg-secondary)}.pjx-hero__shot .cube-chat__msg{color:var(--fg-heading);letter-spacing:.01em}.pjx-hero__shot .cube-chat__caret{color:var(--accent);animation:pjx-blink 1s steps(1,end) infinite}.pjx-hero__shot .cube-chat__note{margin-top:8px;font-size:10px;color:var(--fg-secondary);text-transform:uppercase;letter-spacing:var(--tracking-wide);min-height:13px;opacity:0;transition:opacity .3s var(--ease-out)}@keyframes pjx-blink{0%,55%{opacity:1}56%,to{opacity:.25}}.ph__masthead--navonly{display:block;padding-bottom:clamp(18px,2vw,24px)}.ph__masthead--navonly .ph__masthead-nav{margin-bottom:0}.pj .ph__band{max-width:1100px;margin:0 auto}.pjx__list{display:flex;flex-direction:column;gap:clamp(12px,1.4vw,18px);max-width:1100px;margin:0 auto;padding:clamp(22px,2.6vw,36px) clamp(28px,4vw,56px) clamp(30px,3.5vw,48px)}.pjx{--card-accent: var(--accent);position:relative}.pjx__card{position:relative;display:flex;flex-direction:column;background:var(--bg-surface);border:1px solid var(--border);border-radius:0;overflow:hidden;cursor:pointer;transition:border-color .16s var(--ease-out),background .16s var(--ease-out)}.pjx__card:focus-visible{outline:none;box-shadow:inset 0 0 0 2px var(--accent-glow)}.pjx__card:hover{border-color:var(--border-strong);background:var(--bg-surface-hover)}.pjx__main{display:grid;grid-template-columns:280px minmax(0,1fr) auto;align-items:start;gap:clamp(20px,3vw,48px);padding:clamp(18px,1.8vw,26px) clamp(20px,2vw,30px)}.pjx__main--noart{grid-template-columns:minmax(0,1fr) auto}.pjx__art-col{width:280px;flex-shrink:0;align-self:stretch;min-height:160px;display:flex;flex-direction:column;background:#ffffff08;border:1px solid rgba(255,255,255,.08);border-radius:4px;overflow:hidden}.pjx__art-art{flex:1;min-height:0;display:flex;align-items:center;justify-content:center;padding:10px 12px 4px;overflow:hidden}.pjx__art-art>*{max-width:100%;max-height:100%}.pjx__art-art svg{width:100%;height:auto;max-height:100%}.pjx__art-art{padding:0}.pjx__art-img{width:100%;height:100%;object-fit:cover;object-position:center;display:block}.pjx__title{font-family:var(--font-serif);font-weight:400;font-size:clamp(1.4rem,1.9vw,1.85rem);line-height:1.07;letter-spacing:-.014em;color:var(--fg-heading);margin:0}.pjx__text-col{display:flex;flex-direction:column;gap:12px;min-width:0}.pjx__what{font-size:.9375rem;line-height:1.55;color:var(--fg-primary);margin:0;max-width:60ch;text-wrap:pretty}.pjx__more{display:inline-flex;flex-direction:column;align-items:center;gap:8px;font-family:var(--font-mono);font-size:var(--fs-small);text-transform:uppercase;letter-spacing:var(--tracking-wide);color:var(--card-accent);flex-shrink:0}.pjx__more-ico{width:30px;height:30px;display:grid;place-items:center;border:1px solid color-mix(in srgb,var(--card-accent) 38%,var(--border));border-radius:50%;font-size:16px;line-height:1;transition:background .2s var(--ease-out),border-color .2s var(--ease-out)}.pjx__card:hover .pjx__more-ico{background:color-mix(in srgb,var(--card-accent) 14%,transparent);border-color:var(--card-accent)}.pjx.is-open .pjx__more-ico{background:color-mix(in srgb,var(--card-accent) 16%,transparent);border-color:var(--card-accent)}@media (max-width: 720px){.pjx__main{grid-template-columns:1fr auto;gap:14px 18px;align-items:start}.pjx__main--noart{grid-template-columns:1fr auto}.pjx__art-col{display:none}.pjx__more{flex-direction:row}}.pjx__detail{overflow:hidden;max-height:0}.pjx.is-open .pjx__detail{max-height:none}.pjx__detail-pad{display:flex;flex-direction:column;gap:14px;padding:clamp(16px,1.8vw,22px);border-top:1px dashed var(--border-strong)}.pjx__link{align-self:flex-start;font-family:var(--font-mono);font-size:.78rem;color:var(--card-accent);text-decoration:none;border-bottom:1px solid color-mix(in srgb,var(--card-accent) 35%,transparent);padding-bottom:1px}.pjx__link:hover{border-bottom-color:var(--card-accent)}.pjx__deep{font-size:.95rem;line-height:1.65;color:var(--fg-primary);margin:0;max-width:none;text-wrap:pretty}.art-chirp .axis{stroke:var(--border-subtle);stroke-width:1}.art-chirp .wave{fill:none;stroke:var(--card-accent);stroke-width:1.5;stroke-linejoin:round;stroke-linecap:round}.art-chirp .merge{stroke:var(--card-accent);stroke-width:1;stroke-dasharray:2 3;opacity:.5}.art-chirp .flag{fill:color-mix(in srgb,var(--card-accent) 14%,transparent)}.art-light .axis{stroke:var(--border-subtle);stroke-width:1}.art-light .data{fill:var(--card-accent)}.art-light .fit{fill:none;stroke:var(--card-accent);stroke-width:1.5;stroke-linecap:round}.art-light .observed{fill:color-mix(in srgb,var(--card-accent) 12%,transparent);stroke:none}.art-cube__cell.W{background:#e8eaef}.art-cube__cell.Y{background:#e6c84f}.art-cube__cell.R{background:#b34646}.art-cube__cell.O{background:#d68a5c}.art-cube__cell.B{background:#4866b3}.art-cube__cell.G{background:#5ca87a}.art-cube__readout .row{display:grid;grid-template-columns:30px 1fr auto;gap:8px;align-items:center}.art-cube__readout .face,.art-cube__readout .conf{color:var(--fg-secondary)}.art-cube__readout .conf b{color:var(--fg-primary);font-weight:500}.art-cube__readout .row.next{margin-top:3px}.art-cube__readout .row.next .face{color:var(--accent)}.art-cube__readout .alg{color:var(--fg-heading);font-size:13px;letter-spacing:.04em}.art-rank__row.top{opacity:1}.art-rank__row.top .art-rank__pos{color:var(--card-accent)}.art-rank__row.top .art-rank__name{color:var(--fg-heading)}.art-rank__row.top .art-rank__bar i{background:var(--card-accent);opacity:1}.art-rank__row.top .art-rank__score{color:var(--card-accent)}.art-chess__sq.l{background:#c4c9d6}.art-chess__sq.d{background:#6b7488}.art-chess__sq.hi{box-shadow:inset 0 0 0 2px var(--card-accent)}.art-chess__pc.w{color:#f7f8fb;text-shadow:0 .5px 1px rgba(8,10,16,.55)}.art-chess__pc.b{color:#16181f;text-shadow:0 .5px 0 rgba(255,255,255,.18)}.axh{display:block;padding:clamp(2.5rem,5vw,4.5rem) clamp(1.5rem,6vw,5rem) clamp(2rem,4vw,3rem);max-width:1100px;margin:0 auto}.axh__note{font-family:var(--font-mono);font-size:.65rem;line-height:1.5;letter-spacing:var(--tracking-mono);color:#ffffff4d;margin:1.25rem 0 0}.axh__idstrip{display:grid;grid-template-columns:1fr auto;gap:.35rem 1rem;font-family:var(--font-mono);font-size:.65rem;letter-spacing:var(--tracking-mono);color:#ffffff59}.axh__idstrip-r{text-align:right}.axh__rule{border:0;width:100%;margin:1.2rem 0}.axh__rule--thin{border-top:1px solid rgba(255,255,255,.15)}.axh__rule--heavy{border-top:2px solid rgba(255,255,255,.2)}.axh__title{margin:1.6rem auto 0;max-width:56ch;text-align:center;font-family:var(--font-serif);font-weight:400;font-size:2.4rem;line-height:1.18;color:#fff;text-wrap:balance}.axh__author{margin:1.1rem 0 0;text-align:center;font-family:var(--font-sans);font-size:.9rem;color:#fff9}.axh__author sup,.axh__affil sup{font-size:.7em}.axh__affil{margin:.4rem 0 0;text-align:center;font-family:var(--font-mono);font-size:.65rem;letter-spacing:var(--tracking-mono);color:#ffffff59}.axh__toc{max-width:900px;margin:0 auto}.axh__appx-label{margin:0 0 .5rem;text-align:left;font-family:var(--font-serif);font-weight:400;font-size:2rem;line-height:1.1;color:#fff}.axh__appx-rule{margin:1.5rem 0}.axh__toc-list{list-style:none;margin:0;padding:0}.axh__toc-entry{margin-bottom:.55rem}.axh__toc-line1{display:flex;align-items:baseline;gap:.5rem;text-decoration:none;cursor:pointer;font-family:var(--font-sans);font-size:.95rem;color:#ffffffb3;transition:color .18s ease}.axh__toc-line1:hover{color:#fff}.axh__toc-title{flex:0 1 auto}.axh__toc-dots{flex:1 1 auto;min-width:1.5rem;align-self:flex-end;margin-bottom:.28em;border-bottom:1px dotted rgba(255,255,255,.28)}.axh__toc-pg{flex:0 0 auto;font-family:var(--font-mono);font-size:.78rem;color:#ffffff80}.pj-ack{max-width:calc(1100px - (2*clamp(28px,4vw,56px)));margin:2rem auto 0;background:var(--bg-surface);padding:clamp(18px,1.8vw,26px) clamp(20px,2vw,30px);border-radius:0}.pj-ack__label{margin:0;font-family:var(--font-mono);font-size:.7rem;letter-spacing:.15em;color:var(--fg-secondary)}.pj-ack__rule{border:0;width:100%;border-top:1px solid rgba(255,255,255,.12);margin:.75rem 0}.pj-ack__rule--end{margin:1.5rem 0 0}.pj-ack__body{max-width:720px;margin:0;font-family:var(--font-sans);font-size:1.25rem;line-height:1.65;text-align:left;color:var(--fg-secondary)}.pj .axh{--font-serif: "Noto Serif", Georgia, serif;--font-sans: "Noto Sans", system-ui, sans-serif;--font-mono: "Noto Sans Mono", ui-monospace, monospace}@media (max-width: 760px){.axh__idstrip,.axh__idstrip-r,.axh__affil,.axh__appx-label,.pj-ack__label{font-size:11.5px}}
