.pl-form fieldset{border:0;padding:0;margin:0 0 14px}.pl-form legend{font-weight:700;margin:0 0 6px;padding:0}
.pl-q{display:flex;flex-wrap:wrap;gap:8px}.pl-q label,.pl-subs label{display:flex;align-items:center;gap:8px;cursor:pointer}
.pl-q label{border:2px solid var(--line);border-radius:12px;padding:8px 14px;font-weight:600}.pl-q label:has(input:checked){border-color:var(--brand);background:var(--soft)}
.pl-subs{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:6px;list-style:none;padding:0;margin:0}.pl-subs li{background:var(--bg);border-radius:10px;padding:7px 10px}
.pl-subs input,.pl-topics input{width:20px;height:20px;accent-color:var(--brand);flex:none}.pl-subs small{color:var(--muted)}
.pl-row{display:flex;flex-wrap:wrap;gap:14px}.pl-row label{display:flex;flex-direction:column;font-weight:700;font-size:.95rem}
.pl-row select{font:inherit;padding:8px 10px;border-radius:10px;border:2px solid var(--line);background:var(--card);color:var(--ink);margin-top:4px;min-height:44px}
.pl-big{font-size:2.6rem;font-weight:800;line-height:1;color:var(--brand)}.pl-cd{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;margin:0 0 8px}
ul.pl-sub{list-style:none;padding:0;margin:10px 0 0;display:grid;gap:10px}ul.pl-sub>li{background:var(--bg);border-radius:12px;padding:10px 12px}
.pl-sh{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap}.pl-sh small{color:var(--muted)}.pl-sub .meter{margin:6px 0 2px;background:var(--line)}
.pl-topics{list-style:none;padding:0;margin:8px 0 0;display:grid;gap:4px}.pl-topics label{display:flex;gap:8px;align-items:flex-start;font-size:.92rem;cursor:pointer}
.pl-today{border:2px solid var(--brand)}.pl-today h2{font-size:1.4rem}
.pl-tools{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 12px}.pl-tools button{font:inherit;cursor:pointer}
.pl-month>summary{cursor:pointer;font-weight:700;font-size:1.1rem;padding:6px 0}.pl-day{margin:10px 0 0}.pl-day h3{font-size:1rem;margin:0 0 4px}.pl-day h3 small{color:var(--muted);font-weight:400}
.pl-day.is-today h3{color:var(--brand)}.pl-rev span{font-style:italic}.pl-tag{font-size:.75rem;color:var(--muted);white-space:nowrap}
.pl-warn{background:rgba(242,183,5,.16);border-radius:12px;padding:10px 14px;margin:0 0 12px}
@media print{.pl-form,.pl-tools,.pl-topics,.pl-how,.key a{display:none!important}.pl-month{break-inside:auto}.pl-day{break-inside:avoid}.pl-today{border:1px solid #999}}