.pp-root{color:var(--fg)}.pp-card{background:var(--bg-elevated);border:1px solid var(--border);border-radius:12px;padding:1rem 1.25rem}.pp-btn{border:1px solid var(--border-strong);background:var(--bg-elevated);color:var(--fg);cursor:pointer;border-radius:8px;align-items:center;gap:.4rem;min-height:44px;padding:.5rem .9rem;font-size:.95rem;font-weight:600;display:inline-flex}.pp-btn:hover{background:var(--surface-2)}.pp-btn:focus-visible,.pp-root input:focus-visible,.pp-root select:focus-visible,.pp-root textarea:focus-visible{outline:3px solid var(--brand);outline-offset:2px}.pp-btn-primary{background:var(--brand);color:var(--brand-fg);border-color:var(--brand)}.pp-btn-primary:hover{background:var(--brand);filter:brightness(1.1)}.pp-btn[disabled]{opacity:.5;cursor:not-allowed}.pp-muted{color:var(--fg-muted)}.pp-grid{gap:1.25rem;display:grid}@media (min-width:900px){.pp-split{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start}.pp-sticky{top:var(--pp-head,1rem);max-height:calc(100vh - var(--pp-head,1rem) - 1rem);position:sticky;overflow:auto}}.pp-html p{margin:0 0 .7em;line-height:1.55}.pp-html p:last-child{margin-bottom:0}.pp-html ul,.pp-html ol{list-style:revert;margin:0 0 .7em 1.4em}.pp-html table.atable,.pp-html table{border-collapse:collapse;margin:.6rem 0;font-size:.95rem}.pp-html th,.pp-html td{border:1px solid var(--border-strong);text-align:left;padding:.35rem .6rem}.pp-html th{background:var(--surface-2)}.pp-html .ctr{text-align:center;font-size:1.1em}.pp-html .muted{color:var(--fg-muted);font-size:.92em}.pp-html .indent{padding-left:16px;font-style:italic}.pp-html .box{border:1.5px solid var(--border-strong);border-radius:8px;margin:6px 0;padding:8px 14px}.pp-html .verse{margin-bottom:1em;font-style:italic}.pp-html sup{vertical-align:super;font-size:.75em}.pp-html sub{vertical-align:sub;font-size:.75em}.pp-fig{color:#1f2a37;text-align:center;--ink:#1f2a37;--grid:#dfe3ea;--muted:#5b6573;--navy:#1e3a8a;--paper:#fff;--rule:#c5ccd6;--shade:#d6dbe3;--tint:#e8ecf6;--tint-line:#aab6d6;--accent:#b4531f;background:#fff;border:1px solid #d5dae1;border-radius:10px;margin:.7rem 0;padding:.6rem}.pp-fig svg{max-width:min(100%,340px);height:auto;display:inline-block}.pp-fig svg.wide{max-width:min(100%,460px)}.pp-fig svg text{fill:#1f2a37;font-family:system-ui,sans-serif}.pp-fig svg text.muted{fill:var(--muted)}.pp-fig svg text.var{fill:var(--accent);font-style:italic}.pp-fig svg text.accent{fill:var(--accent)}.pp-fig figcaption{color:#5b6573;margin-top:.3rem;font-size:.85rem}.pp-html .pp-fig table,.pp-fig table{color:#1f2a37;background:#fff}.pp-q{border:1px solid var(--border);background:var(--bg-elevated);border-radius:12px;padding:1rem 1.1rem}.pp-q[data-flagged=true]{border-color:#d97706;box-shadow:inset 4px 0 #d97706}.pp-qnum{letter-spacing:.02em;text-transform:uppercase;color:var(--fg-muted);font-size:.85rem;font-weight:700}.pp-opt{border:1px solid var(--border);cursor:pointer;background:var(--bg);border-radius:8px;align-items:flex-start;gap:.6rem;min-height:44px;margin-top:.5rem;padding:.55rem .7rem;display:flex}.pp-opt:hover{background:var(--surface-2)}.pp-opt:has(input:checked){border-color:var(--brand);background:var(--brand-soft);color:var(--brand-soft-fg)}.pp-opt input{flex:none;width:1.1rem;height:1.1rem;margin-top:.3rem}.pp-letter{min-width:1.4rem;font-weight:700}.pp-opt-good{color:#14532d!important;background:#dcfce7!important;border-color:#15803d!important}.pp-opt-bad{color:#7f1d1d!important;background:#fee2e2!important;border-color:#b91c1c!important}.pp-select,.pp-input,.pp-textarea{border:1px solid var(--border-strong);background:var(--bg);color:var(--fg);border-radius:8px;max-width:100%;min-height:44px;padding:.45rem .6rem;font-size:1rem}.pp-gap{vertical-align:baseline;align-items:center;gap:.25rem;margin:0 .15rem;display:inline-flex}.pp-gap select{min-height:36px;padding:.15rem .35rem;font-size:.95rem}.pp-pal{flex-wrap:wrap;gap:.35rem;display:flex}.pp-pal button{border:1px solid var(--border-strong);background:var(--bg-elevated);min-width:2.4rem;min-height:44px;color:var(--fg);cursor:pointer;border-radius:8px;font-weight:600;position:relative}.pp-pal button[data-state=answered]{background:var(--brand-soft);color:var(--brand-soft-fg);border-color:var(--brand)}.pp-pal button[data-state=current]{outline:3px solid var(--brand);outline-offset:1px}.pp-pal button[data-flag=true]:after{content:"⚑";color:#d97706;font-size:.8rem;position:absolute;top:-6px;right:-4px}.pp-bar{background:var(--surface-2);border-radius:999px;height:.6rem;overflow:hidden}.pp-bar>span{background:var(--brand);height:100%;display:block}.pp-float{z-index:40;background:var(--bg-elevated);border:1px solid var(--border-strong);border-radius:12px;max-width:calc(100vw - 2rem);padding:.75rem;position:fixed;bottom:1rem;right:1rem;box-shadow:0 8px 28px #00000040}.pp-calc{grid-template-columns:repeat(4,3.4rem);gap:.35rem;display:grid}.pp-calc button{border:1px solid var(--border-strong);background:var(--bg);min-height:44px;color:var(--fg);cursor:pointer;border-radius:8px;font-size:1.05rem;font-weight:600}.pp-calc button.op{background:var(--brand-soft);color:var(--brand-soft-fg)}.pp-calc-display{text-align:right;font-family:var(--font-geist-mono,monospace);border:1px solid var(--border-strong);background:var(--bg);border-radius:8px;grid-column:1/-1;min-height:2.8rem;padding:.4rem .6rem;font-size:1.4rem;overflow:hidden}.pp-expl{border-left:4px solid var(--brand);margin-top:.75rem;padding-left:.9rem}.pp-sr{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.pp-print-only{display:none}@media print{.pp-no-print,[data-pp-chrome]{display:none!important}body:has(.pp-root) header:not(.pp-paper-head){display:none!important}body:has(.pp-root) footer{display:none!important}.pp-root{color:#000!important;background:#fff!important}body:has(.pp-root){color:#000!important;background:#fff!important}.pp-print-only{display:block}.pp-sheet-section{break-before:page}.pp-sheet-section:first-of-type{break-before:auto}.pp-pq{break-inside:avoid;margin:0 0 .8rem}.pp-fig{border-color:#999}.pp-answer-sheet{break-before:page}.pp-answer-sheet td{height:1.7rem}.pp-root a{color:#000;text-decoration:none}}.pp-badge{white-space:nowrap;margin-left:auto;padding-left:.5rem;font-size:.85rem;font-weight:700}.pp-badge[data-kind=good]{color:#14532d}.pp-badge[data-kind=bad]{color:#7f1d1d}.pp-skip{position:absolute;top:0;left:-9999px}.pp-skip:focus{margin:.5rem 0;display:inline-block;position:static}