.pl { --pl-ink:#0f172a; --pl-muted:#64748b; }
.pl-filters { grid-template-columns:minmax(0,2fr) minmax(0,1fr) auto; }
.pl-filters .ch-filter-q { grid-column:auto; }
.pl-card .ch-item-media { aspect-ratio:4/3; background:#f1f5f9; }
.pl-card .ch-item-media img { width:100%;height:100%;object-fit:contain; }
.pl-empty { border:1px dashed #cbd5e1;border-radius:24px;background:#fff;padding:54px 24px;text-align:center; }
.pl-empty-icon,.pl-lock-icon { display:inline-flex;width:64px;height:64px;align-items:center;justify-content:center;border-radius:20px;background:#eff6ff;color:#3a86ff;font-size:26px;margin-bottom:16px; }
.pl-empty h2 { font-size:23px;font-weight:800;color:var(--pl-ink);margin:0 0 12px; }
.pl-empty p { max-width:520px;margin:0 auto 20px;color:var(--pl-muted);line-height:1.8; }
.pl-how { margin:48px 0 24px;padding:32px;border:1px solid #e2e8f0;border-radius:24px;background:#fff; }
.pl-section-heading span,.pl-eyebrow { color:#2563eb;font-size:12px;font-weight:800;letter-spacing:.06em; }
.pl-section-heading h2 { font-size:26px;font-weight:800;color:var(--pl-ink);margin:8px 0; }
.pl-section-heading p { color:var(--pl-muted); }
.pl-how ol { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:28px;list-style:none;padding:0; }
.pl-how li { display:flex;gap:14px;min-width:0; }
.pl-how li>span { display:flex;flex:0 0 42px;height:42px;align-items:center;justify-content:center;border:1px solid #dbeafe;border-radius:14px;color:#2563eb;font-weight:800;background:#eff6ff; }
.pl-how h3 { font-weight:800;font-size:16px;color:var(--pl-ink);margin:0 0 7px; }
.pl-how li p { color:var(--pl-muted);font-size:14px;line-height:1.8;margin:0; }
.pl-disclaimer { color:var(--pl-muted);font-size:13px;line-height:1.8;margin:22px 0; }
.pl-detail-grid { display:grid;grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);align-items:start;gap:28px; }
.pl-detail-main,.pl-detail-aside { min-width:0; }
.pl-detail-aside { position:sticky;top:94px;display:grid;gap:20px; }
.pl-box { border:1px solid #e2e8f0;border-radius:22px;padding:26px;background:#fff;margin-bottom:20px;overflow-wrap:anywhere; }
.pl-detail-aside .pl-box { margin-bottom:0; }
.pl-box h2 { font-size:21px;font-weight:800;line-height:1.4;color:var(--pl-ink);margin:8px 0 16px; }
.pl-box p { color:var(--pl-muted);line-height:1.8;margin-bottom:18px;font-size:14px; }
.pl-gallery figure { border:1px solid #e2e8f0;border-radius:22px;background:#fff;overflow:hidden;margin:0 0 22px; }
.pl-gallery img { display:block;width:100%;height:auto;max-height:850px;object-fit:contain;background:#f1f5f9; }
.pl-gallery figcaption { color:var(--pl-muted);font-size:12px;padding:12px 18px;border-top:1px solid #f1f5f9; }
.pl-full { width:100%;justify-content:center; }
.pl-small-label { display:block;color:var(--pl-muted);font-size:12px;font-weight:700;margin:12px 0 8px; }
.pl-prompt-text { display:block;width:100%;max-height:560px;min-height:240px;resize:vertical;box-sizing:border-box;border:1px solid #cbd5e1;border-radius:12px;padding:14px;font:13px/1.9 ui-monospace,SFMono-Regular,Consolas,monospace;color:#1e293b;background:#f8fafc;white-space:pre-wrap;overflow-wrap:anywhere;text-align:start; }
.pl-prompt-text:focus { outline:3px solid #bfdbfe;border-color:#3a86ff; }
.pl-actions { display:flex;flex-wrap:wrap;gap:10px;margin-top:16px; }
.pl-reader { scroll-margin-top:110px; }
.pl-reader .pl-status { margin:14px 0 0;font-size:13px; }
.pl-status:empty { display:none; }
.pl-center { text-align:center;font-size:12px!important;margin-top:14px; }
.pl-center a,.pl-source a,.pl-notice a { color:#2563eb;text-decoration:underline;text-underline-offset:3px; }
.pl-prose { white-space:normal;overflow-wrap:anywhere; }
.pl-guide .pl-prose p,.pl-guide .pl-prose li { font-size:15px;line-height:1.9;color:#475569; }
.pl-guide .pl-prose h2 { margin:32px 0 16px; }
.pl-guide .pl-prose h3 { font-size:19px;font-weight:800;line-height:1.5;color:var(--pl-ink);margin:28px 0 12px; }
.pl-guide .pl-prose ul,.pl-guide .pl-prose ol { padding-left:24px;margin:16px 0 22px; }
.pl-guide .pl-prose ul { list-style:disc; }
.pl-guide .pl-prose ol { list-style:decimal; }
.pl-guide .pl-prose li { margin:8px 0; }
.pl-guide .pl-prose a { color:#2563eb;text-decoration:underline;text-underline-offset:3px; }
.pl-guide .pl-prose :last-child { margin-bottom:0; }
.pl-facts { margin:0; }
.pl-facts>div { display:flex;justify-content:space-between;gap:18px;padding:10px 0;border-bottom:1px solid #f1f5f9;font-size:13px; }
.pl-facts dt { color:var(--pl-muted); }
.pl-facts dd { color:var(--pl-ink);font-weight:700;text-align:right;margin:0; }
.pl-tags { display:flex;flex-wrap:wrap;gap:6px;margin-top:18px; }
.pl-tags span { background:#f1f5f9;color:#475569;font-size:12px;border-radius:8px;padding:5px 9px; }
.pl-box .pl-source { margin:20px 0 0;font-size:12px; }
.pl-notice { border:1px solid #fcd34d;background:#fffbeb;color:#92400e;border-radius:14px;padding:18px;margin-bottom:22px; }
.pl-admin-images { display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:16px; }
.pl-admin-images img { width:100%;height:160px;object-fit:contain;background:#f1f5f9;border-radius:12px; }
.pl-admin-images article { min-width:0;border:1px solid #e2e8f0;border-radius:16px;padding:12px; }
.pl-admin-row { display:flex;gap:12px;flex-wrap:wrap;align-items:end; }
.pl-admin-row>div { flex:1 1 140px;min-width:0; }
.pl-admin-danger { border:1px solid #fecaca;border-radius:18px;padding:20px; }
.pl-admin-code { min-height:280px;font:14px/1.8 ui-monospace,SFMono-Regular,monospace; }
.pl-admin-notice { border:1px solid #bfdbfe;background:#eff6ff;padding:16px;border-radius:14px;color:#1e40af;line-height:1.8; }
@media(max-width:900px){.pl-detail-grid{grid-template-columns:minmax(0,1fr)}.pl-detail-aside{position:static}.pl-how ol{grid-template-columns:1fr}.pl-filters{grid-template-columns:1fr 1fr}.pl-filters .ch-filter-q{grid-column:1/-1}}
@media(max-width:540px){.pl-filters{grid-template-columns:1fr}.pl-how{padding:22px}.pl-box{padding:20px}.pl-section-heading h2{font-size:23px}.pl-empty{padding:36px 20px}.pl-actions>a,.pl-actions>button{flex:1;justify-content:center}}
