.pt-page [hidden] { display:none!important; }
.pt-hero { padding-top:calc(var(--nav-h) + 54px); padding-bottom:46px; }
.pt-kicker { color:var(--accent-ink); font:500 .74rem var(--mono); letter-spacing:.09em; margin-bottom:16px; }
.pt-hero h1 { font-size:clamp(2.25rem,5.7vw,3.9rem); line-height:1.12; letter-spacing:-.05em; margin-bottom:24px; }
.pt-lead { max-width:760px; font-size:1.08rem; color:var(--text-dim); }
.pt-intro { display:flex; flex-wrap:wrap; gap:10px 24px; margin-top:28px; color:var(--text-dim); font-size:.8rem; }
.pt-intro span { border-left:2px solid var(--accent-ink); padding-left:12px; }
.pt-section { padding-block:32px; }
.pt-section:last-child { padding-bottom:72px; }
.pt-section h2 { font-size:clamp(1.5rem,3vw,2rem); letter-spacing:-.03em; line-height:1.2; }
.pt-heading { display:flex; align-items:end; justify-content:space-between; gap:20px; flex-wrap:wrap; }
.pt-heading>a { font-size:.86rem; color:var(--accent-ink); text-decoration:underline; text-underline-offset:4px; }
.pt-filters { display:flex; flex-wrap:wrap; gap:10px; margin-top:28px; }
.pt-filters button { min-height:44px; border:1px solid var(--text-faint); border-radius:8px; background:var(--surface); color:var(--text); padding:10px 15px; font:500 .82rem var(--font); cursor:pointer; }
.pt-filters button[aria-pressed="true"] { color:#04201a; background:var(--accent); border-color:var(--accent); }
.pt-count { color:var(--text-dim); font-size:.8rem; margin-top:14px; }
.pt-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; margin-top:24px; }
.pt-card { min-width:0; display:flex; flex-direction:column; padding:24px; border:1px solid var(--border); border-radius:var(--radius); background:var(--surface); }
.pt-card-top { display:flex; align-items:start; gap:15px; justify-content:space-between; margin-bottom:22px; }
.pt-number { font:500 .85rem var(--mono); color:var(--accent-ink); }
.pt-tag { font-size:.69rem; color:var(--text-dim); text-align:right; }
.pt-sketch { width:100%; height:100px; margin-bottom:26px; }
.pt-line { stroke:var(--accent-ink); stroke-width:2.5; fill:none; }
.pt-muted-line { stroke:var(--text-faint); stroke-width:1.5; fill:none; }
.pt-fill { fill:var(--accent-glow); stroke:var(--accent-ink); stroke-width:1.5; }
.pt-card h3 { font-size:1.18rem; line-height:1.3; margin-bottom:14px; }
.pt-card h3 a:hover { text-decoration:underline; }
.pt-card>p { color:var(--text-dim); font-size:.88rem; }
.pt-card .pt-inputs { margin-block:18px 22px; font-size:.79rem; }
.pt-inputs strong { color:var(--text); }
.pt-open { display:flex; justify-content:space-between; align-items:center; gap:12px; margin-top:auto; min-height:44px; color:var(--accent-ink); font-size:.83rem; text-decoration:underline; text-underline-offset:4px; border-top:1px solid var(--border); padding-top:14px; }
.pt-workflow { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:30px; margin-top:30px; padding-left:22px; }
.pt-workflow li { padding-left:6px; }
.pt-workflow li::marker { color:var(--accent-ink); font:500 .9rem var(--mono); }
.pt-workflow h3 { font-size:1rem; margin-bottom:10px; }
.pt-workflow p { color:var(--text-dim); font-size:.9rem; }
.pt-scope { border-left:3px solid var(--accent-ink); border-radius:0 10px 10px 0; padding:24px; background:var(--surface); margin-top:35px; }
.pt-scope h3 { font-size:1rem; margin-bottom:10px; }
.pt-scope p { color:var(--text-dim); font-size:.88rem; }
.pt-scope p+p { margin-top:14px; }
.pt-scope a { color:var(--accent-ink); text-decoration:underline; text-underline-offset:4px; }
@media(max-width:1000px) { .pt-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:650px) { .pt-grid,.pt-workflow { grid-template-columns:1fr; }.pt-hero { padding-top:calc(var(--nav-h) + 32px); }.pt-card { padding:22px; }.pt-sketch { max-width:290px; }.pt-workflow { gap:24px; }.pt-filters button { flex:1 1 42%; } }
@media print { .pt-filters,.pt-intro { display:none!important; }.pt-count { color:#111; }.pt-hero { padding-top:0; }.pt-grid { grid-template-columns:1fr 1fr; }.pt-card { break-inside:avoid; }.pt-sketch { height:60px; }.pt-page a { text-decoration:underline; } }
