.pp{--g:#B8860B;--gd:#252423;--gs:#FFF8DC;--am:#F5A623;--ams:#FFF6E5;--ln:#E6DCB8;--mu:#605E5C;--bad:#B42318;--badbg:#FEF3F2;font-family:system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;color:#1A1A1A;line-height:1.5;margin:24px 0}
.pp *{box-sizing:border-box}
.pp-head{background:linear-gradient(135deg,var(--gd),var(--g) 70%);color:#fff;border-radius:12px;padding:16px 18px;margin-bottom:12px}
.pp-head h2{margin:0 0 4px;font-size:1.3rem}.pp-head p{margin:0;opacity:.92}
.pp-prog{margin-top:10px;background:rgba(255,255,255,.25);border-radius:99px;height:8px;overflow:hidden}.pp-prog i{display:block;height:100%;background:var(--am);width:0}
.pp-progt{font-size:.85rem;margin-top:4px}
.pp-note{font-size:.8rem;color:var(--mu);margin:6px 2px 10px}
.pp-gridw{overflow:auto;border:1px solid var(--ln);border-radius:10px;background:#fff;margin-bottom:14px}
.pp-grid{border-collapse:collapse;font-size:.88rem;min-width:100%}
.pp-grid th,.pp-grid td{border:1px solid #EFE8CF;padding:5px 9px;white-space:nowrap}
.pp-grid thead th,.pp-grid td.rn{background:var(--gs);color:var(--gd);font-weight:600;text-align:center;font-size:.78rem}
.pp-grid tr.hdr td{font-weight:700;background:#FFFBEA}.pp-grid td.num{text-align:right}
.pp-task{background:#fff;border:1px solid var(--ln);border-radius:12px;padding:14px 16px;margin-bottom:12px}
.pp-task.done{border-color:var(--g);box-shadow:0 0 0 2px var(--gs)}
.pp-t1{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.pp-n{background:var(--g);color:#fff;border-radius:99px;min-width:26px;height:26px;display:inline-flex;align-items:center;justify-content:center;font-weight:700;font-size:.85rem}
.pp-task h3{margin:0;font-size:1.05rem;flex:1}
.pp-lv{font-size:.72rem;font-weight:700;padding:2px 9px;border-radius:99px;background:var(--gs);color:var(--gd)}
.pp-lv.Medium{background:var(--ams);color:#8A5A00}.pp-lv.Hard{background:#FDE7E7;color:var(--bad)}
.pp-ok{color:var(--g);font-weight:700;font-size:.85rem}
.pp-sec{margin:8px 0 0;font-size:.93rem}.pp-sec b{color:var(--gd)}
.pp-sec ol{margin:4px 0 0;padding-left:22px}.pp-sec li{margin:2px 0}
.pp-row{display:flex;gap:8px;margin-top:10px;flex-wrap:wrap}
.pp-in{flex:1 1 260px;font:15px ui-monospace,Consolas,monospace;padding:10px 12px;border:2px solid var(--ln);border-radius:10px}
.pp-in:focus{outline:none;border-color:var(--g)}
.pp-b{border:0;border-radius:10px;padding:10px 14px;font-weight:700;cursor:pointer;font-size:.9rem}
.pp-check{background:var(--g);color:#fff}.pp-hint,.pp-sol{background:var(--gs);color:var(--gd)}
.pp-live{font:14px ui-monospace,Consolas,monospace;color:var(--mu);margin-top:6px;min-height:1.3em}
.pp-msg{margin-top:8px;padding:9px 12px;border-radius:10px;font-weight:600;display:none}
.pp-msg.good{display:block;background:var(--gs);color:var(--gd)}.pp-msg.bad{display:block;background:var(--badbg);color:var(--bad)}
.pp-extra{margin-top:8px;padding:9px 12px;border-radius:10px;background:var(--ams);display:none;font-size:.92rem}
.pp-extra code{background:#fff;padding:2px 6px;border-radius:6px}
.pp-sh{font-size:.85rem;color:#252423;margin:4px 2px}
.pp-wrap{margin:28px 0}.pp-hublink{font-size:.9rem;margin:8px 2px}

.pp-about{background:#F2F8FF;border:1px solid #CFE2F7;border-radius:8px;padding:8px 12px;margin:4px 0 8px;font-size:.85rem;line-height:1.45}.pp-about p{margin:4px 0}.pp-about ul{margin:4px 0;padding-left:18px}.pp-about li{margin:1px 0}
.pp-grid td{white-space:pre}
.pp-static{font-size:.9rem;color:#605E5C}
.pp-in{min-height:64px;resize:vertical;font:14px ui-monospace,Consolas,monospace}
.pp-ctx{display:inline-block;margin-top:8px;font-size:.82rem;background:#252423;color:#F2C811;padding:3px 10px;border-radius:99px}
.pp-tabs details{border:1px solid var(--ln);border-radius:10px;background:#fff;margin:0 0 8px}
.pp-tabs summary{cursor:pointer;padding:8px 12px;font-weight:700;color:var(--gd)}
.pp-tabs .pp-gridw{border:0;border-top:1px solid var(--ln);border-radius:0;margin:0;max-height:320px}
.pp-about ul{margin:4px 0 0;padding-left:20px}.pp-about{background:#fff;border:1px solid var(--ln);border-radius:10px;padding:10px 14px;margin-bottom:10px;font-size:.9rem}
.pp-res{white-space:pre-wrap}

/* ===== Theme refresh 2026-10-24 (CSS only; no behaviour change) ===== */
.pp{--acc:#E0B400;--accd:#252423;--acct:#6B4F00;--tint:#FFF9E0;--line:#EADFB4;--btn:#F2C811;--btnt:#252423;--btnh:#E3B900;--okc:#0E6B3A;--okbg:#E7F6EC;--okl:#7CC79A;--bad:#A8261B;--badbg:#FDF1F0;--badl:#F1B4AE}
.pp-head{box-shadow:0 4px 14px rgba(0,0,0,.08);border-radius:14px}
.pp-task{background:linear-gradient(180deg,var(--tint),#fff 70px);border:1px solid var(--line);border-left:5px solid var(--acc);border-radius:14px;padding:16px 18px;margin-bottom:14px;box-shadow:0 1px 3px rgba(16,24,40,.06),0 2px 8px rgba(16,24,40,.04);transition:box-shadow .15s}
.pp-task:hover{box-shadow:0 2px 6px rgba(16,24,40,.08),0 6px 16px rgba(16,24,40,.06)}
.pp-task.done{border-color:var(--okl);border-left-color:var(--okc);background:linear-gradient(180deg,var(--okbg),#fff 70px);box-shadow:0 0 0 2px var(--okbg),0 2px 8px rgba(16,24,40,.05)}
.pp-n{background:var(--acc);color:var(--btnt);box-shadow:0 1px 2px rgba(0,0,0,.15)}
.pp-task h3{color:#1F2328;font-size:1.06rem}
.pp-lv{font-size:.72rem;letter-spacing:.02em;padding:3px 10px;border:1px solid transparent}
.pp-lv.Easy{background:#E7F6EC;color:#0E6B3A;border-color:#B7E2C6}
.pp-lv.Medium{background:#FFF4DB;color:#7A4D00;border-color:#F3D58C}
.pp-lv.Hard{background:#FDECEC;color:#A8261B;border-color:#F4BCB7}
.pp-ok{color:var(--okc)}
.pp-sec b{color:var(--acct)}
.pp-in{border:1.5px solid #CBD2D9;background:#fff;transition:border-color .15s,box-shadow .15s}
.pp-in:focus{border-color:var(--acc);box-shadow:0 0 0 3px var(--tint)}
.pp-b{border-radius:10px;padding:10px 16px;font-weight:700;transition:background .15s,box-shadow .15s,transform .05s}
.pp-b:active{transform:translateY(1px)}
.pp-b:focus-visible{outline:3px solid var(--acc);outline-offset:2px}
.pp-check{background:var(--btn);color:var(--btnt);box-shadow:0 1px 2px rgba(0,0,0,.18)}
.pp-check:hover{background:var(--btnh)}
.pp-hint,.pp-sol{background:#fff;color:var(--acct);border:1.5px solid var(--acc)}
.pp-hint:hover,.pp-sol:hover{background:var(--tint)}
.pp-msg{border:1px solid transparent;border-left-width:4px}
.pp-msg.good{background:var(--okbg);color:var(--okc);border-color:var(--okl);border-left-color:var(--okc)}
.pp-msg.bad{background:var(--badbg);color:var(--bad);border-color:var(--badl);border-left-color:var(--bad)}
.pp-extra{background:#FFFBF0;border:1px solid #F0DFB0;border-left:4px solid #E0A526;color:#3D2E00}
.pp-extra code{background:#fff;border:1px solid #EADCB5;color:#1F2328}
.pp-about{background:#F4F8FD;border:1px solid #D3E2F3;border-left:4px solid #3A78C2;border-radius:10px;padding:10px 14px;color:#1F2D3D}
.pp-about b,.pp-about strong{color:#1D4F8A}
.pp-gridw{border:1px solid var(--line);border-radius:12px;box-shadow:0 1px 3px rgba(16,24,40,.05);max-height:440px}
.pp-grid thead th{position:sticky;top:0;z-index:2;background:var(--tint);color:var(--accd);box-shadow:inset 0 -1px 0 var(--line)}
.pp-grid td.rn{background:var(--tint);color:var(--accd)}
.pp-grid tr.hdr td{background:var(--tint);color:var(--accd);font-weight:700}
.pp-grid tbody tr:nth-child(even) td:not(.rn){background:#F8FAF9}
.pp-grid tbody tr:hover td:not(.rn){background:#FFFBEA}
.pp-grid th,.pp-grid td{border-color:#E6EAE8}
@media (max-width:640px){.pp-task{padding:13px 12px;border-radius:12px}.pp-row{gap:6px}.pp-in{flex-basis:100%}.pp-b{flex:1 1 30%;padding:11px 8px}.pp-task h3{font-size:1rem}.pp-gridw{max-height:340px}.pp-grid{font-size:.82rem}}
.pp-tabs details{border-left:4px solid #E0B400;box-shadow:0 1px 3px rgba(16,24,40,.05)}
.pp-tabs summary{color:#252423}.pp-tabs details[open] summary{background:#FFF9E0;border-radius:8px 8px 0 0}
.pp-ctx{background:#252423;color:#F2C811}
.pp-grid tbody tr:nth-child(even) td:not(.rn){background:#FCFAF3}
/* Power BI Task Hub */
.wrap:has(#pdone) .hero{box-shadow:0 6px 18px rgba(37,36,35,.22);border-bottom:4px solid #F2C811}
.wrap:has(#pdone) .ch{border:1px solid #EADFB4;border-left:5px solid #E0B400;border-radius:14px;padding:12px 16px;box-shadow:0 1px 3px rgba(16,24,40,.06);background:linear-gradient(180deg,#FFFCEF,#fff 48px)}
.wrap:has(#pdone) .ch h2{color:#252423}
.wrap:has(#pdone) a{color:#7A5A00}
.wrap:has(#pdone) .dn{color:#0E6B3A}
.pp .pp-head{background:linear-gradient(135deg,#252423,#3B3A39 75%);border-bottom:4px solid #F2C811}
.pp .pp-head h2{color:#fff;border:0}.pp .pp-prog i{background:#F2C811}
.pp .pp-grid thead th{background:#FFF3C4;color:#252423;border-color:#EADFB4}
