/* AI product title generator. Shared tokens keep dark mode consistent with the site. */
.pt-page{max-width:1180px}.pt-heading h1{font-size:clamp(28px,4vw,42px);line-height:1.25;margin:8px 0 12px}
.pt-app{border:1px solid var(--line);border-radius:18px;background:var(--white);padding:18px;box-shadow:0 14px 42px rgba(23,42,71,.06)}
.pt-form{display:grid;grid-template-columns:1fr 1fr;gap:12px}.pt-wide{grid-column:1/-1}
.pt-field{display:flex;flex-direction:column;gap:6px;font-size:14px;color:var(--muted)}
.pt-field textarea,.pt-field input,.pt-field select{border:1px solid var(--line);border-radius:10px;padding:9px 11px;font:inherit;font-size:15px;background:var(--white);color:var(--ink);min-height:44px;box-sizing:border-box;width:100%}
.pt-field textarea{min-height:150px;resize:vertical}
.pt-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.pt-actions button{min-height:44px;border:1px solid var(--line);border-radius:10px;padding:8px 16px;font:inherit;background:var(--white);color:var(--ink);cursor:pointer}
.pt-actions button.primary{background:var(--blue);border-color:var(--blue);color:#fff;font-weight:700}.pt-actions button:disabled{opacity:.6;cursor:wait}
.pt-note{flex-basis:100%;margin:0;font-size:13px;color:var(--muted);line-height:1.6}
.pt-status{margin:14px 0 0;padding:10px 12px;border-radius:10px;background:var(--blue-soft);color:var(--ink)}.pt-status.is-error{background:#fdecec;color:#a42323}
.pt-result{margin-top:18px}.pt-result h2{font-size:20px;margin:0 0 6px}.pt-type{color:var(--muted);margin:0 0 10px}
.pt-titles{list-style:none;padding:0;margin:0 0 14px;display:grid;gap:10px;counter-reset:t}
.pt-title{border:1px solid var(--line);border-radius:14px;padding:12px 14px;background:var(--paper);counter-increment:t}
.pt-title.has-issues{border-color:#f1d39b}
.pt-title-top{display:flex;gap:10px;align-items:flex-start}.pt-title-text{margin:0;flex:1;font-size:16px;font-weight:600;line-height:1.5;color:var(--ink)}
.pt-title-text::before{content:counter(t) ". ";color:var(--muted)}
.pt-copy{border:1px solid var(--line);border-radius:8px;background:var(--white);color:var(--ink);padding:5px 12px;font:inherit;font-size:13px;cursor:pointer;flex:none}
.pt-meter{height:5px;border-radius:999px;background:var(--line);margin:10px 0 6px;overflow:hidden}.pt-meter span{display:block;height:100%;background:#2f9e68}.pt-meter span.is-over{background:#d4453b}
.pt-title-meta{display:flex;flex-wrap:wrap;gap:12px;font-size:13px;color:var(--muted)}.pt-angle{color:var(--ink)}
.pt-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.pt-chip{font-size:12px;border-radius:999px;padding:3px 9px;background:var(--blue-soft);color:var(--ink)}
.pt-issues{list-style:none;padding:0;margin:8px 0 0;display:flex;flex-wrap:wrap;gap:6px;font-size:12.5px}
.pt-issues .is-warn{background:#fff3df;color:#7a4a00;border-radius:8px;padding:3px 8px}.pt-issues .is-ok{color:#1f6b3a}
.pt-card{border:1px solid var(--line);border-radius:14px;padding:12px 14px;margin:12px 0;background:var(--white)}.pt-card h3{margin:0 0 8px;font-size:16px}
.pt-copy-row{display:flex;gap:10px;align-items:flex-start;padding:8px 0;border-top:1px solid var(--line)}.pt-copy-row:first-of-type{border-top:0}.pt-copy-row div{flex:1;min-width:0}.pt-copy-row p{margin:2px 0 0;overflow-wrap:anywhere}
.pt-label{font-size:12px;color:var(--muted)}
.pt-table-wrap{overflow-x:auto;position:relative;margin:12px 0;border:1px solid var(--line);border-radius:12px;background:var(--white)}
.pt-table{width:100%;border-collapse:collapse;font-size:14px}.pt-table caption{text-align:left;font-weight:700;padding:10px 12px 4px}
.pt-table th,.pt-table td{text-align:left;padding:7px 12px;border-top:1px solid var(--line);color:var(--ink);vertical-align:top}.pt-table th{font-size:12.5px;color:var(--muted)}
.pt-warnings li{color:var(--muted)}
.pt-page .guide-layout>*{min-width:0}
html[data-xunl-theme="dark"] .pt-issues .is-warn{background:#3a2c12;color:#ffd58a}html[data-xunl-theme="dark"] .pt-issues .is-ok{color:#8fe0b2}html[data-xunl-theme="dark"] .pt-status.is-error{background:#3a1a1d;color:#ffb4b4}html[data-xunl-theme="dark"] .pt-title.has-issues{border-color:#6b5320}
@media(max-width:640px){.pt-form{grid-template-columns:1fr}.pt-app{padding:12px}.pt-title-top{flex-direction:column}}
.pt-title-note{margin:6px 0 0;font-size:12.5px;color:var(--muted);overflow-wrap:anywhere}
