.ptx{--color-primary: #2563eb;--color-primary-hover: #1d4ed8;--color-primary-ring: #3b82f6;--color-primary-tint: #eff6ff;--color-surface: #ffffff;--color-surface-muted: #f9fafb;--color-surface-placeholder: #f3f4f6;--color-border: #e5e7eb;--color-border-input: #d1d5db;--color-text-heading: #111827;--color-text-body: #374151;--color-text-secondary: #4b5563;--color-text-muted: #6b7280;--gradient-hero: linear-gradient(to right, #eef2ff, #ffffff, #fdf2f8);--radius-input: .5rem;--radius-card: 1rem;--shadow-card: 0 1px 2px 0 rgb(0 0 0 / .05);--shadow-raised: 0 10px 15px -3px rgb(0 0 0 / .1);color:var(--color-text-body);background:#fcfcfd;line-height:1.5;-webkit-font-smoothing:antialiased}.ptx *{box-sizing:border-box}.ptx-container{max-width:72rem;margin-inline:auto;padding-inline:1rem;padding-bottom:1rem}@media (min-width: 640px){.ptx-container{padding-inline:1.5rem}}@media (min-width: 1024px){.ptx-container{padding-inline:2rem}}.ptx .card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-card);box-shadow:var(--shadow-card);padding:1.5rem}.ptx .card--raised{box-shadow:var(--shadow-raised)}.ptx .btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;background:var(--color-primary);color:#fff;font-weight:600;padding:.625rem 1.5rem;border-radius:var(--radius-input);border:0;cursor:pointer;text-decoration:none;transition:.15s;font-size:1rem}.ptx .btn:hover{background:var(--color-primary-hover)}.ptx .btn:focus-visible{outline:2px solid var(--color-primary-ring);outline-offset:2px}.ptx .btn:disabled{opacity:.55;cursor:not-allowed}.ptx .btn--full{width:100%}.ptx .btn--sm{padding:.4rem .85rem;font-size:.85rem}.ptx .btn--ghost{background:var(--color-surface);color:var(--color-text-body);border:1px solid var(--color-border-input)}.ptx .btn--ghost:hover:not(:disabled){background:var(--color-surface-muted)}.ptx h2.section{font-size:1.5rem;font-weight:700;color:var(--color-text-heading);letter-spacing:-.01em;margin:0}.ptx h3.panel{font-size:1.125rem;font-weight:600;color:var(--color-text-heading);margin:0}.ptx .muted{color:var(--color-text-muted)}.ptx .tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem;background:var(--color-surface-muted);border-radius:var(--radius-input);padding:1rem;border:1px solid var(--color-border)}.ptx .tile__label{font-size:.85rem;color:var(--color-text-muted)}.ptx .tile__value{font-size:1.35rem;font-weight:700;color:var(--color-text-heading)}.ptx .tile__value--primary{color:var(--color-primary)}@media (max-width: 560px){.ptx .tiles{grid-template-columns:1fr;gap:.75rem}}.ptx .layout{display:grid;grid-template-columns:1fr;gap:1.5rem;margin-top:2rem}@media (min-width: 920px){.ptx .layout{grid-template-columns:minmax(0,1.75fr) minmax(0,1fr);align-items:start}.ptx .side-card{position:sticky;top:1.5rem}}.ptx .dropzone{border:2px dashed var(--color-border-input);border-radius:var(--radius-card);background:var(--color-surface-muted);padding:3rem 1.5rem;text-align:center;cursor:pointer;transition:.18s;user-select:none}.ptx .dropzone:hover,.ptx .dropzone.is-drag{border-color:var(--color-primary-ring);background:var(--color-primary-tint)}.ptx .dropzone.is-drag{border-style:solid}.ptx .dropzone.is-locked{opacity:.6;pointer-events:none}.ptx .dropzone:focus-visible{outline:2px solid var(--color-primary-ring);outline-offset:2px}.ptx .dropzone__icon{width:56px;height:56px;margin:0 auto .9rem;color:var(--color-primary)}.ptx .dropzone__icon svg{width:100%;height:100%;display:block}.ptx .dropzone__title{font-weight:700;font-size:1.15rem;color:var(--color-text-heading)}.ptx .dropzone__sub{font-size:.92rem;color:var(--color-text-muted);margin-top:.35rem}.ptx .dropzone__formats{display:inline-flex;flex-wrap:wrap;gap:.35rem;justify-content:center;margin-top:1rem}.ptx .fmt-chip{font-size:.7rem;font-weight:700;letter-spacing:.03em;padding:.18rem .5rem;border-radius:999px;background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text-muted)}.ptx .file-strip{display:flex;align-items:center;gap:.75rem;margin-top:1.25rem;border:1px solid var(--color-border);border-radius:var(--radius-input);background:var(--color-surface);padding:.7rem .85rem;box-shadow:var(--shadow-card)}.ptx .file-strip__icon{flex:0 0 auto;font-size:1.35rem;line-height:1}.ptx .file-strip__meta{flex:1 1 auto;min-width:0}.ptx .file-strip__name{font-size:.92rem;font-weight:600;color:var(--color-text-heading);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ptx .file-strip__sub{font-size:.78rem;color:var(--color-text-muted);margin-top:.1rem}.ptx .result{margin-top:1.25rem}.ptx .result__bar{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem .75rem;margin-bottom:.6rem}.ptx .result__title{font-weight:700;color:var(--color-text-heading);font-size:.95rem}.ptx .result__count{font-size:.8rem;color:var(--color-text-muted)}.ptx .result__actions{margin-left:auto;display:flex;gap:.5rem}.ptx .result__text{width:100%;min-height:340px;resize:vertical;border:1px solid var(--color-border-input);border-radius:var(--radius-input);background:var(--color-surface);color:var(--color-text-heading);padding:.85rem 1rem;font-size:.88rem;line-height:1.6;font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,Liberation Mono,monospace;white-space:pre-wrap;word-break:break-word}.ptx .result__text:focus{outline:2px solid var(--color-primary-ring);outline-offset:1px;border-color:var(--color-primary-ring)}.ptx .result__text::placeholder{color:var(--color-text-muted);font-family:inherit}.ptx .side-card h3.panel{margin-bottom:1.1rem}.ptx .toggle{display:flex;align-items:flex-start;gap:.65rem;cursor:pointer;margin-bottom:1.25rem;user-select:none}.ptx .toggle input{position:absolute;opacity:0;width:0;height:0}.ptx .toggle__box{flex:0 0 auto;width:1.15rem;height:1.15rem;margin-top:.12rem;border:1px solid var(--color-border-input);border-radius:.35rem;background:var(--color-surface);position:relative;transition:.15s}.ptx .toggle input:checked+.toggle__box{background:var(--color-primary);border-color:var(--color-primary)}.ptx .toggle input:checked+.toggle__box:after{content:"";position:absolute;left:.35rem;top:.12rem;width:.3rem;height:.6rem;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}.ptx .toggle input:focus-visible+.toggle__box{outline:2px solid var(--color-primary-ring);outline-offset:2px}.ptx .toggle input:disabled+.toggle__box{opacity:.55}.ptx .toggle__text{display:flex;flex-direction:column}.ptx .toggle__label{font-size:.9rem;font-weight:600;color:var(--color-text-heading)}.ptx .toggle__hint{font-size:.78rem;color:var(--color-text-muted);margin-top:.1rem}.ptx .progress{margin-top:1rem}.ptx .progress__track{width:100%;height:.5rem;border-radius:999px;overflow:hidden;background:var(--color-surface-placeholder);border:1px solid var(--color-border)}.ptx .progress__bar{width:0%;height:100%;border-radius:999px;background:var(--color-primary);transition:width .12s linear}.ptx .progress__row{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-top:.55rem}.ptx .progress__label{font-size:.82rem;color:var(--color-text-secondary);font-weight:500}.ptx .summary-line{margin:.9rem 0 0;font-size:.85rem;color:var(--color-text-muted);text-align:center}.ptx .gen-note{margin-top:.9rem;padding:.7rem .85rem;border-radius:var(--radius-input);font-size:.84rem;line-height:1.45;background:var(--color-primary-tint);color:var(--color-primary-hover);border:1px solid #bfdbfe}.ptx .gen-note a{color:inherit;font-weight:700;text-decoration:underline}.ptx .gen-note--warn{background:#fffbeb;color:#b45309;border-color:#fde68a}.ptx .results-row{margin-top:1.5rem}.ptx .how{margin-top:3.25rem}.ptx .how h2.section{text-align:center}.ptx .how__lead{text-align:center;color:var(--color-text-secondary);margin:.4rem 0 1.75rem}.ptx .steps{display:grid;grid-template-columns:1fr;gap:1.1rem}@media (min-width: 720px){.ptx .steps{grid-template-columns:repeat(3,1fr)}}.ptx .step{text-align:center;padding:1.75rem 1.25rem}.ptx .step__n{width:2.5rem;height:2.5rem;margin:0 auto .9rem;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;font-weight:800;font-size:1.1rem;color:var(--color-primary);background:var(--color-primary-tint);border:1px solid #bfdbfe}.ptx .step h3{font-size:1.05rem;font-weight:700;color:var(--color-text-heading);margin:0 0 .4rem}.ptx .step p{margin:0;font-size:.9rem;color:var(--color-text-secondary)}.ptx .privacy-line{margin-top:1.75rem;display:flex;align-items:center;gap:1rem;background:#ecfdf5;border:1px solid #a7f3d0}.ptx .privacy-line__icon{font-size:1.5rem;flex:0 0 auto}.ptx .privacy-line strong{color:#065f46}.ptx .privacy-line p{margin:0;color:#047857;font-size:.95rem}.ptx .about{margin-top:3.25rem}.ptx .about h2.section{text-align:center;margin-bottom:1.25rem}.ptx .about__card p{margin:0 0 .9rem;color:var(--color-text-secondary);font-size:.95rem}.ptx .about__card p:last-child{margin-bottom:0}.ptx .about__card strong{color:var(--color-text-heading)}.ptx .about__card a{color:var(--color-primary);font-weight:600;text-decoration:underline}.ptx .about__card a:hover{color:var(--color-primary-hover)}.ptx .foot{margin:2.5rem 0 1rem;padding-top:1.25rem;border-top:1px solid var(--color-border);text-align:center}.ptx .foot p{margin:0;font-size:.85rem}
