.ptl{overflow:hidden;background:var(--surface-page);color:var(--text-primary)}
.ptl *{box-sizing:border-box}
.ptl-ct{width:100%;max-width:var(--container-max);margin:0 auto;padding-right:var(--container-pad);padding-left:var(--container-pad)}
.ptl-hero{padding:var(--section-y) 0 var(--section-y-compact);background:var(--surface-muted)}
.ptl-crumbs{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-7);font-size:var(--text-sm);line-height:var(--leading-normal);color:var(--text-secondary)}
.ptl-crumbs a{color:var(--text-link);text-decoration:none}
.ptl-crumbs a:hover{color:var(--text-link-hover);text-decoration:underline}
.ptl-crumbs .lucide{width:14px;flex:0 0 auto;color:var(--text-secondary)}
.ptl-hero h1{max-width:18ch;margin:0;color:var(--text-heading);font-size:var(--type-hero-size);line-height:var(--type-hero-leading);letter-spacing:var(--type-hero-tracking)}
.ptl-lead{max-width:var(--measure-lead);margin:var(--space-6) 0 0;color:var(--text-muted);font-size:var(--type-lead-size);line-height:var(--type-lead-leading)}
.ptl-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-4);margin-top:var(--space-8)}
.ptl-facts>div{min-width:0;padding:var(--space-5);border:var(--rule);border-radius:var(--radius-md);background:var(--surface-card);box-shadow:var(--shadow-xs)}
.ptl-facts span{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-2);color:var(--text-secondary);font-size:var(--text-xs);font-weight:var(--weight-medium)}
.ptl-facts .lucide{flex:0 0 auto;color:var(--text-accent)}
.ptl-facts b{display:block;color:var(--text-heading);font-size:var(--text-sm);font-weight:var(--weight-semibold);line-height:var(--leading-normal)}
.ptl-actions{display:flex;flex-wrap:wrap;gap:var(--space-4);margin-top:var(--space-8)}
.ptl-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-3);min-height:var(--control-h-md);padding:0 var(--control-pad-x);border:1px solid var(--action-primary-bg);border-radius:var(--radius-sm);background:var(--action-primary-bg);color:var(--action-primary-fg);font-family:var(--font-ui);font-size:var(--text-base);font-weight:var(--weight-semibold);line-height:1.2;text-decoration:none;cursor:pointer;transition:var(--transition-color),var(--transition-transform)}
.ptl-btn:hover{border-color:var(--action-primary-bg-hover);background:var(--action-primary-bg-hover);color:var(--action-primary-fg);text-decoration:none}
.ptl-btn:active{transform:scale(var(--press-scale))}
.ptl-btn:focus-visible,.ptl-tab:focus-visible,.ptl-file:focus-visible,.ptl-search:focus-within{outline:var(--focus-ring-width) solid var(--focus-ring);outline-offset:var(--focus-ring-offset)}
.ptl-btn .lucide{flex:0 0 auto}
.ptl-btn--ghost{border-color:var(--action-secondary-border);background:var(--action-secondary-bg);color:var(--action-secondary-fg)}
.ptl-btn--ghost:hover{border-color:var(--action-secondary-border);background:var(--action-secondary-bg-hover);color:var(--action-secondary-fg)}
.ptl-note{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:var(--space-5);margin-top:calc(var(--space-8) * -1);padding:var(--space-5) var(--space-6);border:var(--border-width) solid var(--border-accent);border-radius:var(--radius-md);background:var(--surface-accent-soft);box-shadow:var(--shadow-xs)}
.ptl-note-icon{display:flex;color:var(--text-accent)}
.ptl-note-icon .lucide{flex:0 0 auto}
.ptl-note p{margin:0;color:var(--text-primary);font-size:var(--text-sm);line-height:var(--leading-normal)}
.ptl-note a{display:inline-flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--text-link);text-decoration:none;white-space:nowrap}
.ptl-note a:hover{color:var(--text-link-hover);text-decoration:underline}
.ptl-note a .lucide{flex:0 0 auto}
.ptl-editions{display:flex;flex-wrap:wrap;align-items:flex-start;gap:var(--space-4);padding:var(--space-7) 0}
.ptl-editions>span{padding-top:var(--space-2);color:var(--text-muted);font-size:var(--text-sm);font-weight:var(--weight-medium)}
.ptl-editions ul{display:flex;flex:1 1 400px;flex-wrap:wrap;gap:var(--space-3);margin:0;padding:0;list-style:none}
.ptl-editions li{padding:var(--space-2) var(--space-4);border:var(--rule);border-radius:var(--radius-pill);background:var(--surface-sunken);color:var(--text-primary);font-size:var(--text-xs);line-height:var(--leading-normal)}
.ptl-files{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-5);margin-bottom:var(--space-10)}
.ptl-file{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:var(--space-4);min-height:84px;padding:var(--space-5);border:var(--rule);border-radius:var(--radius-md);background:var(--surface-card);color:var(--text-primary);box-shadow:var(--shadow-xs);text-decoration:none;transition:var(--transition-color),box-shadow var(--duration-fast) var(--ease-standard),var(--transition-transform)}
.ptl-file:hover{border-color:var(--border-strong);box-shadow:var(--shadow-sm);color:var(--text-primary);text-decoration:none;transform:translateY(-1px)}
.ptl-file>.lucide:first-child{color:var(--text-accent)}
.ptl-file>.lucide:last-child{color:var(--text-secondary)}
.ptl-file span{min-width:0;color:var(--text-heading);font-size:var(--text-sm);font-weight:var(--weight-semibold);line-height:var(--leading-normal)}
.ptl-file small{display:block;margin-top:var(--space-1);color:var(--text-secondary);font-size:var(--text-xs);font-weight:var(--weight-medium)}
.ptl-lists{padding:var(--space-2) 0 var(--section-y)}
.ptl-tools{position:sticky;top:64px;z-index:10;display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:var(--space-5);margin-bottom:var(--space-7);padding:var(--space-4);border:var(--rule);border-radius:var(--radius-md);background:var(--surface-card);box-shadow:var(--shadow-md)}
.ptl-search{display:flex;align-items:center;gap:var(--space-3);min-width:0;height:var(--control-h-lg);padding:0 var(--space-4);border:var(--rule);border-radius:var(--radius-sm);background:var(--surface-page);color:var(--text-secondary)}
.ptl-search .lucide{flex:0 0 auto}
.ptl-search input{width:100%;min-width:0;height:100%;padding:0;border:0;background:transparent;outline:0;color:var(--text-primary);font-family:var(--font-body);font-size:var(--text-base);line-height:var(--leading-normal);box-shadow:none}
.ptl-search input::placeholder{color:var(--text-secondary);opacity:1}
.ptl-tabs{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-1);border-radius:var(--radius-sm);background:var(--surface-sunken)}
.ptl-tab{min-height:var(--control-h-sm);padding:0 var(--space-4);border:0;border-radius:var(--radius-xs);background:transparent;color:var(--text-muted);font-family:var(--font-ui);font-size:var(--text-sm);font-weight:var(--weight-semibold);cursor:pointer;transition:var(--transition-color)}
.ptl-tab:hover{color:var(--text-heading)}
.ptl-tab.is-active{background:var(--surface-card);color:var(--text-accent);box-shadow:var(--shadow-xs)}
.ptl-count{font-family:var(--font-mono);font-size:var(--text-xs);font-weight:var(--weight-medium);color:var(--text-muted);white-space:nowrap}
.ptl-list h2{margin:0 0 var(--space-5);color:var(--text-heading);font-size:var(--type-h2-size);line-height:var(--leading-snug)}
.ptl-list.is-hidden{display:none}
.ptl-table-wrap{width:100%;overflow-x:auto;border:var(--rule);border-radius:var(--radius-md);background:var(--surface-card);box-shadow:var(--shadow-xs);overscroll-behavior-x:contain}
.ptl-table{width:100%;min-width:1120px;border-collapse:collapse;color:var(--text-primary);font-size:var(--text-xs);line-height:var(--leading-normal)}
.ptl-table th,.ptl-table td{padding:var(--space-4);border-right:var(--rule);border-bottom:var(--rule);vertical-align:top;text-align:left;overflow-wrap:anywhere}
.ptl-table th:last-child,.ptl-table td:last-child{border-right:0}
.ptl-table tbody tr:last-child td{border-bottom:0}
.ptl-table thead th{position:sticky;top:156px;z-index:2;background:var(--surface-dark);color:var(--text-inverse);font-size:var(--text-2xs);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-wide);line-height:var(--leading-snug);text-transform:uppercase}
.ptl-table thead th:nth-child(1){width:6%;min-width:64px}
.ptl-table thead th:nth-child(2){width:25%;min-width:240px}
.ptl-table thead th:nth-child(3){width:14%;min-width:155px}
.ptl-table thead th:nth-child(4),.ptl-table thead th:nth-child(5){width:27.5%;min-width:300px}
.ptl-table tbody tr:not(.ptl-row--group):hover{background:var(--surface-muted)}
.ptl-table tbody tr[hidden]{display:none}
.ptl-row--group th{padding:var(--space-4) var(--space-5);border-right:0;background:var(--surface-accent-soft);color:var(--text-heading);font-size:var(--text-sm);font-weight:var(--weight-semibold);line-height:var(--leading-normal)}
.ptl-row--group th span{display:inline-block;margin-right:var(--space-3);color:var(--text-accent);font-family:var(--font-mono);font-size:var(--text-xs)}
.ptl-code{font-family:var(--font-mono);font-size:var(--text-2xs);color:var(--text-heading)}
.ptl-cell--long{min-width:300px;color:var(--text-muted)}
.ptl-empty{display:grid;justify-items:center;gap:var(--space-3);padding:var(--space-11) var(--space-5);border:var(--rule);border-radius:var(--radius-md);background:var(--surface-muted);color:var(--text-secondary);text-align:center}
.ptl-empty .lucide{color:var(--text-accent)}
.ptl-empty p{margin:0;color:var(--text-heading);font-size:var(--text-lg);font-weight:var(--weight-semibold)}
.ptl-empty span{font-size:var(--text-sm);line-height:var(--leading-normal)}
.ptl-content{padding:var(--section-y) 0}
.ptl-prose{max-width:var(--measure-prose)}
.ptl-prose p{margin:0 0 var(--space-5);color:var(--text-primary);font-size:var(--type-body-size);line-height:var(--type-body-leading)}
.ptl-prose h2,.ptl-prose h3{margin:var(--space-9) 0 var(--space-5);color:var(--text-heading);line-height:var(--leading-snug)}
.ptl-prose h2{font-size:var(--type-h2-size)}
.ptl-prose h3{font-size:var(--type-h3-size)}
.ptl-prose>h2:first-child,.ptl-prose>h3:first-child{margin-top:0}
.ptl-prose a{color:var(--text-link)}
.ptl-prose a:hover{color:var(--text-link-hover)}
.ptl-prose ul,.ptl-prose ol{margin:0 0 var(--space-6);padding-left:var(--space-7);font-size:var(--type-body-size);line-height:var(--type-body-leading)}
.ptl-prose li+li{margin-top:var(--space-2)}
.ptl-cta{padding:var(--section-y) 0;background:var(--surface-dark);color:var(--text-inverse-soft);text-align:center}
.ptl-cta .ptl-ct{display:grid;justify-items:center}
.ptl-cta h2{max-width:28ch;margin:0;color:var(--text-on-dark-heading);font-size:var(--type-h2-size);line-height:var(--leading-snug)}
.ptl-cta p{max-width:58ch;margin:var(--space-4) 0 0;font-size:var(--text-md);line-height:var(--leading-normal)}
.ptl-btn--light{margin-top:var(--space-7);border-color:var(--action-primary-fg);background:var(--action-primary-fg);color:var(--text-heading)}
.ptl-btn--light:hover{border-color:var(--surface-secondary-soft);background:var(--surface-secondary-soft);color:var(--text-heading)}
.ptl-visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media (max-width:1024px){
.ptl-facts{grid-template-columns:repeat(2,minmax(0,1fr))}
.ptl-files{grid-template-columns:repeat(2,minmax(0,1fr))}
.ptl-tools{grid-template-columns:minmax(0,1fr) auto}
.ptl-count{grid-column:2}
}
@media (max-width:768px){
.ptl-hero,.ptl-content,.ptl-cta{padding:var(--section-y-mobile) 0}
.ptl-note{grid-template-columns:auto minmax(0,1fr)}
.ptl-note a{grid-column:2}
.ptl-files{grid-template-columns:minmax(0,1fr)}
.ptl-tools{top:56px;grid-template-columns:minmax(0,1fr);gap:var(--space-4);padding:var(--space-3)}
.ptl-tabs{width:100%;overflow-x:auto}
.ptl-tab{flex:1 0 auto;min-height:44px}
.ptl-count{grid-column:auto}
.ptl-table thead th{top:176px}
}
@media (max-width:480px){
.ptl-ct{padding-right:var(--container-pad-mobile);padding-left:var(--container-pad-mobile)}
.ptl-hero h1{font-size:var(--text-3xl)}
.ptl-facts{grid-template-columns:minmax(0,1fr)}
.ptl-actions,.ptl-actions .ptl-btn{width:100%}
.ptl-note{gap:var(--space-4);padding:var(--space-5)}
.ptl-note a{white-space:normal}
.ptl-editions{gap:var(--space-3)}
.ptl-list h2{font-size:var(--text-xl)}
.ptl-table thead th{top:188px}
}