:root{--paper:#f6f4ee;--ink:#1b1712;--muted:#5c564a;--line:#ddd6c7;--card:#fffefb;--accent:#0f5257;--accent-soft:#e3efef;--good-ink:#14532d;--good-bg:#e6f3e9;--warn-ink:#7c2d12;--warn-bg:#fbeedf;--tag-h:#dbe4ff;--tag-a:#e9defb;--tag-s:#e5e6ea;--focus:#b45309;--serif:Georgia, "Times New Roman", serif;--sans:system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, "Cascadia Mono", Consolas, monospace}body{background:var(--paper);color:var(--ink);font-family:var(--sans);margin:0;line-height:1.5}.mpw{counter-reset:mpw-section;max-width:960px;margin:0 auto;padding:2.5rem 1.25rem 5rem}.mpw-skip{position:absolute;left:-9999px}.mpw-skip:focus{background:var(--card);border:2px solid var(--focus);padding:.5rem 1rem;top:1rem;left:1rem}a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.mpw-masthead{border-bottom:3px double var(--ink);margin-bottom:.5rem;padding-bottom:1rem}.mpw-overline{letter-spacing:.22em;text-transform:uppercase;color:var(--muted);margin:0 0 .25rem;font-size:.75rem}.mpw h1{font-family:var(--serif);margin:0 0 .5rem;font-size:2.4rem;font-weight:700;line-height:1.1}.mpw-banner{background:var(--ink);color:var(--paper);border-radius:10px;margin:1.25rem 0;padding:1rem 1.25rem}.mpw-banner p{margin:.25rem 0}.mpw-banner .mpw-muted{color:#cfc9ba}.mpw-note{font-size:.9rem}h2.mpw-sec{counter-increment:mpw-section;font-family:var(--serif);border-top:1px solid var(--line);margin:2rem 0 .5rem;padding-top:.75rem;font-size:1.35rem}h2.mpw-sec:before{content:counter(mpw-section, decimal-leading-zero) " — ";color:var(--accent);font-size:.95rem;font-family:var(--sans);letter-spacing:.08em}button{font:inherit;border:1px solid var(--ink);background:var(--card);color:var(--ink);cursor:pointer;box-shadow:0 1px 0 var(--ink);border-radius:999px;padding:.5rem 1rem;font-weight:600}button:disabled{opacity:.45;cursor:default;box-shadow:none}button:not(:disabled):hover{background:var(--accent-soft)}button:not(:disabled):active{box-shadow:none;transform:translateY(1px)}.mpw-grid{flex-wrap:wrap;gap:1rem;display:flex}.mpw-grid>section{flex:280px;min-width:0}.mpw-card{background:var(--card);border:1px solid var(--line);border-radius:10px;margin:.75rem 0;padding:1rem 1.25rem;box-shadow:0 1px 2px #1b17120f}.mpw-card h3{margin:.25rem 0 .5rem}.mpw-labA{border-top:6px solid var(--accent)}.mpw-labB{border-top:6px dashed var(--accent)}.mpw-scores{font-variant-numeric:tabular-nums}.mpw-conclusion{font-family:var(--serif);letter-spacing:.02em;font-size:1.4rem}.mpw-tag{font-size:.8rem;font-family:var(--mono);border:1px solid var(--line);border-radius:4px;padding:0 .4rem;display:inline-block}.mpw-tag-h{background:var(--tag-h)}.mpw-tag-a{background:var(--tag-a)}.mpw-tag-s{background:var(--tag-s)}.mpw-verdict-yes,.mpw-verdict-no{font-family:var(--serif);border-radius:8px;padding:.75rem 1rem;font-size:1.15rem}.mpw-verdict-yes{background:var(--good-bg);color:var(--good-ink);border:1px solid var(--good-ink)}.mpw-verdict-no{background:var(--warn-bg);color:var(--warn-ink);border:1px solid var(--warn-ink)}.mpw-subsets{flex-wrap:wrap;gap:3px;margin:.5rem 0;display:flex}.mpw-subsets span{background:var(--accent);border-radius:3px;width:1.1rem;height:1.1rem;display:inline-block}.mpw-cell{background:var(--card);border:1px solid var(--line);border-radius:8px;flex:200px;min-width:0;margin:.25rem 0;padding:.5rem .75rem}.mpw-cell p{margin:.2rem 0}.mpw-cell-min{border:2px solid var(--ink)}.mpw-cert{border:2px solid var(--ink);background:var(--card);border-radius:10px;margin:1rem 0;padding:1rem 1.25rem;box-shadow:0 2px 8px #1b17121a}.mpw-cert h3{font-family:var(--serif);font-size:1.3rem}.mpw-cert-id{font-family:var(--serif);margin:.25rem 0 .5rem;font-size:1.6rem;font-weight:700}.mpw-hash{font-family:var(--mono);word-break:break-all;font-size:.85rem}.mpw-muted{color:var(--muted)}.mpw-trace{font-family:var(--mono);font-size:.85rem}.mpw-flash{animation:.16s ease-out mpw-in}@keyframes mpw-in{0%{opacity:.2;transform:translateY(3px)}to{opacity:1;transform:none}}.mpw-busy{animation:.6s ease-in-out infinite alternate mpw-pulse}@keyframes mpw-pulse{0%{opacity:1}to{opacity:.55}}@media (prefers-reduced-motion:reduce){.mpw-flash,.mpw-busy,.mpw-subsets span{animation:none}}
