.p2l-page{--p2l-paper:#fbfaf7;--p2l-ink:#1a1a1a;--p2l-ink-soft:#4a4a4a;--p2l-ink-faint:#8a8a8a;--p2l-rule:#d8d4cc;--p2l-chrome:#14110d;--p2l-chrome-soft:#2a2620;--p2l-chrome-rule:#322d25;--p2l-accent:#0f6e5c;--p2l-accent-hover:#0c5a4b;--p2l-ok:#2d7a6e;--p2l-code-bg:#1a1814;--p2l-code-text:#d4cfc4;color:#1c1917;min-height:100vh;font-family:var(--sans), "IBM Plex Sans", system-ui, sans-serif;background:#f3f1e7;overflow-x:hidden}.p2l-page *,.p2l-page :before,.p2l-page :after{box-sizing:border-box}.p2l-main{width:100%}.p2l-hero{text-align:center;max-width:48rem;margin:0 auto;padding:1.5rem 1.25rem .25rem}.p2l-hero h1{font-family:var(--mono), "IBM Plex Mono", ui-monospace, monospace;letter-spacing:-.03em;color:#1c1917;margin:0 0 .75rem;font-size:clamp(1.75rem,4vw,3rem);font-weight:500;line-height:1.1}.p2l-hero p{color:#57534e;max-width:38rem;margin:0 auto;font-size:1rem;line-height:1.5}.p2l-hero-actions{flex-wrap:wrap;justify-content:center;align-items:center;gap:.75rem;margin-top:1.25rem;display:flex}.p2l-hero-link{color:var(--p2l-accent);font-size:.875rem;font-weight:500;text-decoration:none}.p2l-hero-link:hover{text-decoration:underline}.p2l-hero-link:focus-visible,.p2l-signup:focus-visible,.p2l-btn:focus-visible,.p2l-modes button:focus-visible,.p2l-tab:focus-visible{outline:2px solid var(--p2l-accent);outline-offset:2px}.p2l-signup{color:#f3f1e7;background:#1f2937;border-radius:8px;align-items:center;gap:.5rem;min-height:44px;padding:0 1.25rem;font-size:.875rem;font-weight:600;text-decoration:none;display:inline-flex}.p2l-signup:hover{background:#000}.p2l-shell{width:100%;max-width:1920px;margin:0 auto;padding:1rem 1rem 2rem}.p2l-app{--p2l-app-height:min(720px, calc(100dvh - 280px));width:100%;height:var(--p2l-app-height);border:1px solid var(--p2l-rule);min-height:560px;color:var(--p2l-ink);background:#f0ede7;border-radius:12px;flex-direction:column;display:flex;overflow:hidden}.p2l-app--workspace{--p2l-app-height:calc(100dvh - 96px);min-height:480px}.p2l-page--embedded{background:#f0ede7;height:100dvh;min-height:0;overflow:hidden}.p2l-page--embedded .p2l-main,.p2l-page--embedded .p2l-shell,.p2l-page--embedded .p2l-app{max-width:none;height:100%;min-height:0}.p2l-page--embedded .p2l-shell{padding:0}.p2l-page--embedded .p2l-app{border:0;border-radius:0}.p2l-topbar{background:var(--p2l-chrome);color:#e8e4dc;border-bottom:1px solid var(--p2l-chrome-rule);border-radius:12px 12px 0 0;flex-shrink:0;justify-content:space-between;align-items:center;gap:.75rem;min-width:0;padding:.35rem .75rem .35rem 1rem;display:flex;position:relative}.p2l-page--embedded .p2l-topbar,.p2l-app--workspace .p2l-topbar{border-radius:0}.p2l-brand{font-family:var(--serif), Newsreader, Georgia, serif;letter-spacing:-.01em;flex-shrink:0;align-items:baseline;gap:.45rem;font-size:1.15rem;font-weight:500;display:flex}.p2l-brand .arrow{color:#8ec9bb;font-weight:400}.p2l-brand .tag{font-family:var(--mono), "IBM Plex Mono", monospace;letter-spacing:.08em;text-transform:uppercase;color:var(--p2l-ink-faint);margin-left:.35rem;font-size:.68rem}.p2l-topbar-actions{overscroll-behavior-x:contain;scrollbar-width:none;flex:auto;justify-content:flex-end;align-items:center;gap:.4rem;min-width:0;margin-left:auto;display:flex;overflow-x:auto}.p2l-topbar-actions::-webkit-scrollbar{display:none}.p2l-stats{font-family:var(--mono), monospace;letter-spacing:.08em;text-transform:uppercase;color:var(--p2l-ink-faint);flex-shrink:0;align-items:center;gap:.75rem;font-size:.68rem;display:flex}.p2l-stat-item{white-space:nowrap;gap:.3rem;display:flex}.p2l-stat-item .num{color:#e8e4dc}.p2l-topbar-divider{background:var(--p2l-chrome-rule);flex-shrink:0;width:1px;height:18px}.p2l-btn{color:#e8e4dc;min-height:44px;font-family:var(--sans), system-ui, sans-serif;letter-spacing:.01em;white-space:nowrap;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:3px;justify-content:center;align-items:center;gap:.35rem;padding:0 .8rem;font-size:.78rem;font-weight:500;text-decoration:none;display:inline-flex}.p2l-btn:hover{background:var(--p2l-chrome-soft)}.p2l-btn:disabled{opacity:.4;cursor:not-allowed}.p2l-btn-primary{background:var(--p2l-accent);border-color:var(--p2l-accent);color:#faf8f3}.p2l-btn-primary:hover{background:var(--p2l-accent-hover)}.p2l-btn-ghost{border-color:var(--p2l-chrome-rule)}.p2l-btn-ghost:hover{border-color:#4a4338}.p2l-btn-ink{color:#faf8f3;background:#121a17;border-color:#121a17}.p2l-btn-ink:hover{background:#24302b}.p2l-btn-light{border-color:var(--p2l-rule);color:var(--p2l-ink);background:#fff}.p2l-btn-light:hover{background:#f7f4ee}.p2l-options{flex-shrink:0;position:relative}.p2l-settings-pop{z-index:50;background:var(--p2l-chrome);border:1px solid var(--p2l-chrome-rule);border-radius:3px;width:min(280px,100vw - 24px);padding:.75rem 1rem;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 8px 20px #00000047}.p2l-settings-pop h5{border-bottom:1px solid var(--p2l-chrome-rule);font-family:var(--mono), monospace;letter-spacing:.1em;text-transform:uppercase;color:var(--p2l-ink-faint);margin:0 0 .5rem;padding-bottom:.4rem;font-size:.65rem;font-weight:500}.p2l-settings-pop label{color:#e8e4dc;cursor:pointer;align-items:center;gap:.5rem;min-height:44px;font-size:.8rem;display:flex}.p2l-settings-pop input{width:16px;height:16px;accent-color:var(--p2l-accent)}.p2l-settings-note{color:#b7b1a6;margin:.25rem 0 0;font-size:.75rem;line-height:1.4}.p2l-toolbar{background:var(--p2l-chrome-soft);border-bottom:1px solid var(--p2l-chrome-rule);flex-wrap:wrap;flex-shrink:0;align-items:center;gap:.5rem .75rem;min-width:0;padding:.35rem .75rem;display:flex}.p2l-tabs{flex-shrink:0;gap:.1rem;display:flex}.p2l-tab{min-height:44px;color:var(--p2l-ink-faint);font-family:var(--mono), monospace;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;border-radius:0;padding:0 .7rem;font-size:.72rem}.p2l-tab.active{color:#e8e4dc;border-bottom-color:#8ec9bb}.p2l-tab:hover{color:#e8e4dc}.p2l-modes{border:1px solid var(--p2l-rule);background:#fff;border-radius:3px;flex-shrink:0;display:inline-flex;overflow:hidden}.p2l-toolbar .p2l-modes{border-color:var(--p2l-chrome-rule);background:0 0}.p2l-modes button{min-height:44px;color:var(--p2l-ink-soft);font-family:var(--mono), monospace;letter-spacing:.12em;text-transform:uppercase;cursor:pointer;background:0 0;border:0;padding:0 .9rem;font-size:11px}.p2l-toolbar .p2l-modes button{color:#cfc8bc}.p2l-modes button+button{border-left:1px solid var(--p2l-rule)}.p2l-toolbar .p2l-modes button+button{border-left-color:var(--p2l-chrome-rule)}.p2l-modes button[aria-pressed=true]{color:#faf8f3;background:#121a17}.p2l-footer-note{text-overflow:ellipsis;white-space:nowrap;max-width:46%;font-family:var(--mono), monospace;letter-spacing:.06em;text-transform:uppercase;color:var(--p2l-ink-faint);margin-left:auto;font-size:.68rem;overflow:hidden}.p2l-body{flex-direction:column;flex:1;min-height:0;display:flex;overflow:auto}.p2l-dropzone-wrap{flex-direction:column;flex:1;align-items:center;min-height:0;padding:1.5rem 1.25rem 2rem;display:flex;overflow:auto}.p2l-dropzone-inner{width:min(680px,100%);margin:auto}.p2l-dropzone{text-align:center;background:var(--p2l-paper);border:1.5px dashed var(--p2l-rule);border-radius:4px;width:100%;padding:2.5rem 1.5rem 1.75rem;transition:border-color .15s,background .15s}.p2l-dropzone.dragging,.p2l-dropzone:hover{border-color:var(--p2l-accent);background:#fff}.p2l-dropzone-icon{font-family:var(--serif), Georgia, serif;color:var(--p2l-ink-faint);margin-bottom:.75rem;font-size:2.75rem;line-height:1}.p2l-dropzone h2{font-family:var(--serif), Georgia, serif;letter-spacing:-.01em;color:var(--p2l-ink);margin:0 0 .4rem;font-size:1.5rem;font-weight:500}.p2l-dropzone p,.p2l-mode-hint{max-width:42rem;color:var(--p2l-ink-soft);margin:0 auto 1rem;font-size:.9rem;line-height:1.5}.p2l-dropzone .p2l-modes{margin-bottom:.85rem}.p2l-dropzone-meta{border-top:1px solid var(--p2l-rule);font-family:var(--mono), monospace;letter-spacing:.08em;text-transform:uppercase;color:var(--p2l-ink-faint);flex-wrap:wrap;justify-content:center;gap:.35rem .85rem;margin-top:1.25rem;padding-top:1rem;font-size:.68rem;display:flex}.p2l-feature-list{margin-top:1.5rem}.p2l-feature-list h3{border-bottom:1px solid var(--p2l-rule);font-family:var(--mono), monospace;letter-spacing:.12em;text-transform:uppercase;color:var(--p2l-ink-faint);margin:0 0 .7rem;padding-bottom:.45rem;font-size:.68rem;font-weight:500}.p2l-feature-list ul{grid-template-columns:1fr 1fr;gap:.3rem 1.25rem;margin:0;padding:0;list-style:none;display:grid}.p2l-feature-list li{color:var(--p2l-ink-soft);align-items:baseline;gap:.45rem;font-size:.82rem;display:flex}.p2l-feature-list .check{color:var(--p2l-ok);font-weight:700}.p2l-progress-wrap,.p2l-center-card{flex:1;justify-content:center;align-items:center;padding:1.5rem;display:flex}.p2l-progress-card,.p2l-error-box,.p2l-notice-card{background:var(--p2l-paper);border:1px solid var(--p2l-rule);border-radius:4px;width:min(460px,100%);padding:1.5rem 1.35rem}.p2l-progress-phase{justify-content:space-between;align-items:baseline;gap:1rem;display:flex}.p2l-progress-label{font-family:var(--mono), monospace;letter-spacing:.08em;text-transform:uppercase;color:var(--p2l-ink-soft);font-size:.75rem}.p2l-progress-bar{background:var(--p2l-rule);border-radius:2px;width:100%;height:4px;margin-top:1rem;overflow:hidden}.p2l-progress-fill{background:var(--p2l-accent);height:100%;transition:width .25s}.p2l-progress-eta{font-family:var(--mono), monospace;color:var(--p2l-ink-faint);margin-top:.55rem;font-size:.7rem}.p2l-error-box{border-color:#9a3b1e;border-left-style:solid;border-left-width:3px}.p2l-error-box .label,.p2l-notice-card .label{font-family:var(--mono), monospace;letter-spacing:.1em;text-transform:uppercase;color:#9a3b1e;margin-bottom:.4rem;font-size:.7rem}.p2l-notice-card .label{color:var(--p2l-ink-soft)}.p2l-error-box p,.p2l-notice-card p{color:var(--p2l-ink);margin:0;font-size:.95rem;line-height:1.5}.p2l-card-actions{flex-wrap:wrap;gap:.5rem;margin-top:1rem;display:flex}.p2l-note{border-bottom:1px solid var(--p2l-rule);color:var(--p2l-ink);background:#ece5d6;flex-shrink:0;padding:.65rem 1rem;font-size:.85rem}.p2l-workspace{background:#e8e4dc;flex:1;min-height:0;display:flex;overflow:hidden}.p2l-workspace.single .p2l-pane:not(.active){display:none}.p2l-workspace.split .p2l-pane{flex:50%;min-width:0;min-height:0}.p2l-workspace.split .p2l-pane.p2l-preview{border-right:1px solid var(--p2l-rule)}.p2l-pane{-webkit-overflow-scrolling:touch;flex-direction:column;flex:1;min-width:0;min-height:0;display:flex;overflow:auto}.p2l-pane.p2l-preview{background:#e8e4dc;padding:.75rem}.p2l-preview-pages{flex-direction:column;align-items:center;gap:.75rem;width:100%;display:flex}.p2l-preview-page-wrap{flex-direction:column;align-items:center;width:100%;display:flex}.p2l-preview-page{background:#fff;width:100%;height:auto;display:block;box-shadow:0 1px 3px #0000000f,0 8px 24px #00000014}.p2l-preview-page-label{font-family:var(--mono), monospace;letter-spacing:.08em;text-transform:uppercase;color:var(--p2l-ink-faint);margin-top:.35rem;font-size:.62rem}.p2l-preview-paper{background:var(--p2l-paper);width:100%;max-width:720px;color:var(--p2l-ink);font-family:var(--serif), Georgia, serif;margin:0 auto 1.5rem;padding:clamp(1.25rem,4vw,3.5rem) clamp(1rem,4vw,3.5rem);font-size:clamp(15px,1.05vw,17px);line-height:1.55;box-shadow:0 1px 3px #0000000a,0 10px 32px #0000000f}.p2l-preview-paper h1.doc-title{text-align:center;margin:0 0 .6rem;font-size:1.7rem;font-weight:600;line-height:1.2}.p2l-preview-paper .doc-authors{text-align:center;color:var(--p2l-ink-soft);margin-bottom:2rem;font-style:italic}.p2l-preview-paper h2.section{margin:1.6rem 0 .5rem;font-size:1.25rem;font-weight:600}.p2l-preview-paper h3.subsection{margin:1.25rem 0 .4rem;font-size:1.05rem;font-weight:600}.p2l-preview-paper h4.subsubsection{margin:1rem 0 .3rem;font-size:1rem;font-style:italic;font-weight:600}.p2l-preview-paper p{overflow-wrap:anywhere;margin:0 0 .7rem}.p2l-preview-paper ul,.p2l-preview-paper ol{margin:.4rem 0 .8rem 1.4rem}.p2l-preview-paper li{margin-bottom:.25rem}.p2l-preview-paper .display-math{text-align:center;margin:.9rem 0;overflow-x:auto}.p2l-preview-paper figure{text-align:center;margin:1.25rem auto}.p2l-preview-paper figure img,.p2l-preview-paper img{max-width:100%;height:auto}.p2l-preview-paper pre,.p2l-preview-paper .codeblock{border:1px solid var(--p2l-rule);font-family:var(--mono), monospace;white-space:pre-wrap;background:#f5f2eb;border-radius:2px;margin:.8rem 0;padding:.75rem 1rem;font-size:.85rem;line-height:1.5;overflow-x:auto}.p2l-preview-paper table{border-collapse:collapse;width:100%;margin:.8rem 0;font-size:.92em}.p2l-preview-paper td{border:1px solid var(--p2l-rule);padding:.35rem .5rem}.p2l-pane.p2l-source{background:var(--p2l-code-bg);color:var(--p2l-code-text);font-family:var(--mono), monospace;font-size:clamp(11px,.85vw,13px);line-height:1.55}.p2l-source-content{white-space:pre;counter-reset:line;min-height:100%;margin:0;padding:1.25rem 1rem 2rem}.p2l-source-line{counter-increment:line;min-height:1.55em;padding-left:3.2rem;display:block;position:relative}.p2l-source-line:before{content:counter(line);text-align:right;color:#5a5448;-webkit-user-select:none;user-select:none;width:2.4rem;padding-right:.45rem;font-size:11px;position:absolute;left:0}.p2l-app .src-cmd{color:#d4915a}.p2l-app .src-math{color:#d4a85a}.p2l-app .src-comment{color:#6d675c;font-style:italic}.p2l-figures-panel{background:var(--p2l-chrome-soft);border-top:1px solid var(--p2l-chrome-rule);color:#d4cfc4;flex-shrink:0;padding:.7rem 1rem}.p2l-figures-panel h4{font-family:var(--mono), monospace;letter-spacing:.1em;text-transform:uppercase;color:var(--p2l-ink-faint);margin:0 0 .45rem;font-size:.65rem;font-weight:500}.p2l-figures-grid{gap:.6rem;display:flex;overflow-x:auto}.p2l-figure-thumb{background:var(--p2l-paper);width:110px;color:inherit;border-radius:2px;flex-shrink:0;padding:.4rem;text-decoration:none}.p2l-figure-thumb img{-o-object-fit:contain;object-fit:contain;width:100%;height:70px;display:block}.p2l-figure-thumb .label{text-overflow:ellipsis;white-space:nowrap;text-align:center;font-family:var(--mono), monospace;color:var(--p2l-ink-soft);margin-top:.3rem;font-size:.6rem;overflow:hidden}.p2l-toast{z-index:1000;background:var(--p2l-chrome);color:#e8e4dc;border-radius:3px;padding:.65rem 1.1rem;font-size:.85rem;position:fixed;bottom:1.5rem;left:50%;transform:translate(-50%);box-shadow:0 4px 12px #0003}.p2l-market{max-width:56rem;margin:0 auto;padding:.5rem 1.25rem 4rem}.p2l-market h2{color:#1c1917;margin:0 0 1rem;font-size:1.5rem;font-weight:700}.p2l-steps{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;display:grid}.p2l-step{background:#fff;border:1px solid #e7e5e4;border-radius:16px;padding:1.25rem;box-shadow:0 1px 2px #1c19170a}.p2l-step-num{width:36px;height:36px;color:var(--p2l-accent);background:#0f6e5c1a;border-radius:999px;justify-content:center;align-items:center;margin-bottom:.75rem;font-size:.875rem;font-weight:700;display:flex}.p2l-step h3{color:#1c1917;margin:0 0 .25rem;font-size:1rem;font-weight:600}.p2l-step p{color:#78716c;margin:0;font-size:.875rem;line-height:1.55}.p2l-features{grid-template-columns:1fr 1fr;gap:.65rem 1rem;margin-top:2.5rem;display:grid}.p2l-feature{color:#57534e;align-items:flex-start;gap:.5rem;font-size:.875rem;display:flex}.p2l-feature svg{color:var(--p2l-ok);flex-shrink:0;margin-top:2px}.p2l-faq{gap:.75rem;margin-top:1rem;display:grid}.p2l-faq details{background:#fff;border:1px solid #e7e5e4;border-radius:12px;padding:1rem 1.15rem;box-shadow:0 1px 2px #1c19170a}.p2l-faq summary{cursor:pointer;color:#1c1917;justify-content:space-between;align-items:center;gap:1rem;min-height:44px;font-weight:600;list-style:none;display:flex}.p2l-faq summary::-webkit-details-marker{display:none}.p2l-faq summary svg{color:#a8a29e;flex-shrink:0;transition:transform .15s}.p2l-faq details[open] summary svg{transform:rotate(90deg)}.p2l-faq details p{color:#57534e;margin:.75rem 0 0;font-size:.875rem;line-height:1.6}.p2l-band{color:#faf8f3;background:#0f6e5c;border-radius:16px;justify-content:space-between;align-items:center;gap:1.25rem;margin-top:2.5rem;padding:1.75rem 1.5rem;display:flex}.p2l-band h2{color:#fff;margin:0 0 .35rem;font-size:1.25rem}.p2l-band p{color:#faf8f3c7;max-width:36rem;margin:0;font-size:.875rem;line-height:1.5}.p2l-band-btn{color:#0f6e5c;background:#fff;border-radius:8px;flex-shrink:0;align-items:center;gap:.4rem;min-height:44px;padding:0 1.15rem;font-size:.875rem;font-weight:600;text-decoration:none;display:inline-flex}.p2l-band-btn:hover{background:#f7f4ee}.p2l-band-btn:focus-visible{outline-offset:2px;outline:2px solid #fff}.p2l-section{margin-top:2.75rem}.p2l-app ::-webkit-scrollbar{width:8px;height:8px}.p2l-app ::-webkit-scrollbar-thumb{background:#00000029;border-radius:4px}.p2l-pane.p2l-source ::-webkit-scrollbar-thumb{background:#ffffff1f}@media (max-width:900px){.p2l-steps{grid-template-columns:1fr}.p2l-band{flex-direction:column;align-items:flex-start}}@media (max-width:768px){.p2l-app{--p2l-app-height:calc(100dvh - 220px);min-height:480px}.p2l-app--workspace{--p2l-app-height:calc(100dvh - 16px)}.p2l-stats,.p2l-topbar-divider,.p2l-footer-note{display:none}.p2l-workspace.split{flex-direction:column}.p2l-workspace.split .p2l-pane.p2l-preview{border-right:0;border-bottom:1px solid var(--p2l-rule);flex:0 0 44%;min-height:200px}.p2l-workspace.split .p2l-pane.p2l-source{flex:56%;min-height:180px}.p2l-features{grid-template-columns:1fr}}@media (max-width:640px){.p2l-hero{padding-top:1.25rem}.p2l-shell{padding:.75rem .75rem 1.5rem}.p2l-app{border-radius:8px;min-height:440px}.p2l-topbar{border-radius:8px 8px 0 0;padding:.25rem .45rem .25rem .7rem}.p2l-brand{font-size:1rem}.p2l-brand .tag,.p2l-tab-split{display:none}.p2l-feature-list ul{grid-template-columns:1fr}.p2l-dropzone{padding:1.5rem .9rem 1.15rem}.p2l-dropzone h2{font-size:1.25rem}.p2l-dropzone-wrap{padding:1rem .75rem 1.25rem}.p2l-preview-paper h1.doc-title{font-size:1.3rem}.p2l-source-line{padding-left:2.2rem}.p2l-source-line:before{width:1.6rem;font-size:10px}.p2l-market{padding-left:1rem;padding-right:1rem}.p2l-modes button{letter-spacing:.06em;padding:0 .65rem}}@media (max-width:380px){.p2l-btn{padding:0 .55rem}.p2l-dropzone{padding:1.15rem .7rem}}
