.pm{display:flex;flex-direction:column;gap:20px}.pm__main{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,6fr);gap:20px;align-items:start}.pm__inputs{gap:22px;padding:24px}.pm__mono{font-family:var(--font-mono)}.pm__result{display:flex;flex-direction:column;gap:16px;min-width:0;position:sticky;top:80px}.pm__grid{--cols:minmax(96px,1.3fr) repeat(3,minmax(56px,1fr)) 44px;display:grid;grid-template-columns:var(--cols);align-items:center;row-gap:10px;column-gap:10px}.pm__line{display:contents}.pm__colh{display:flex;flex-direction:column;align-items:center;gap:1px;font-size:var(--text-xs);font-weight:600;color:var(--fg-muted);text-align:center}.pm__colh small{font-family:var(--font-mono);font-size:11px;color:var(--fg-faint)}.pm__rowh{font-weight:700;font-size:var(--text-sm);overflow-wrap:anywhere}.pm__chk{position:relative;display:block;max-width:76px;margin-inline:auto}.pm__chk,.pm__chk input{width:100%;cursor:pointer}.pm__chk input{position:absolute;inset:0;height:100%;margin:0;opacity:0}.pm__box{display:grid;place-items:center;min-height:48px;border-radius:12px;border:1.5px solid var(--line-strong);background:var(--surface);font-family:var(--font-mono);font-size:20px;font-weight:700;color:var(--fg-faint);transition:background var(--dur-2,.16s) ease,color var(--dur-2,.16s) ease,border-color var(--dur-2,.16s) ease,transform var(--dur-2,.16s) var(--ease-spring,ease)}.pm__chk:hover .pm__box{border-color:var(--fg-faint)}.pm__chk input:checked+.pm__box{background:var(--accent);border-color:transparent;color:var(--accent-ink);transform:scale(1.04)}.pm__chk input:focus-visible+.pm__box{outline:2px solid var(--accent-fg);outline-offset:2px}.pm__digit{font-family:var(--font-mono);font-size:var(--text-xl);font-weight:700;text-align:center;font-variant-numeric:tabular-nums}.pm__specials{display:flex;flex-direction:column;gap:8px}.pm__switches{display:flex;flex-wrap:wrap;gap:10px 22px}.pm__fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 16px}.pm__fields--end,.pm__hero{align-items:end}.pm__hero{display:grid;grid-template-columns:auto minmax(0,1fr);gap:20px 32px;padding:6px 2px 10px}.pm__heroitem{display:flex;flex-direction:column;gap:4px;min-width:0}.pm__herolabel{font-size:var(--text-xs);color:var(--fg-faint)}.pm__big{font-family:var(--font-mono);font-size:clamp(56px,8vw,96px);font-weight:700;line-height:1;letter-spacing:-.04em;font-variant-numeric:tabular-nums;color:var(--accent-fg)}.pm__sym{font-family:var(--font-mono);font-size:clamp(22px,3.2vw,34px);font-weight:600;letter-spacing:.02em;overflow-wrap:anywhere;line-height:1.2}@media (prefers-reduced-motion:no-preference){.pm__big,.pm__digit,.pm__sym{animation:pm-tick .26s var(--ease-out,ease-out)}}@keyframes pm-tick{0%{opacity:.35;transform:translateY(.12em)}to{opacity:1;transform:none}}.pm__cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.pm__card{display:flex;flex-direction:column;gap:10px;padding:16px;border-radius:var(--radius);border:1px solid var(--line);background:var(--surface)}.pm__card header{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.pm__card h3,.pm__cardnum{font-size:var(--text-sm);font-weight:700}.pm__cardnum{font-family:var(--font-mono);color:var(--accent-fg)}.pm__card ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.pm__card li{display:grid;grid-template-columns:18px minmax(0,1fr);gap:8px;font-size:var(--text-sm);line-height:1.5}.pm__card li.is-off{color:var(--fg-faint)}.pm__card li.is-on .pm__mark{color:var(--success)}.pm__state{font-size:var(--text-xs);color:var(--fg-faint)}.pm__notes{display:flex;flex-direction:column;gap:10px;margin-top:14px}.pm__note{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 10px;font-size:var(--text-sm);line-height:1.6;color:var(--fg-muted)}.pm__note--quiet{color:var(--fg-faint)}.pm__note--warn{padding:10px 12px;border-radius:var(--radius);border:1px solid color-mix(in oklab,var(--warning) 35%,transparent);background:color-mix(in oklab,var(--warning) 8%,transparent)}@media (max-width:960px){.pm__main{grid-template-columns:minmax(0,1fr)}.pm__result{position:static}.pm__cards{grid-template-columns:minmax(0,1fr)}}@media (max-width:520px){.pm__grid{--cols:minmax(64px,1.1fr) repeat(3,minmax(44px,1fr)) 28px;column-gap:6px}.pm__colh{font-size:10px}.pm__fields,.pm__hero{grid-template-columns:minmax(0,1fr)}.pm__hero{gap:12px}.pm__inputs{padding:16px}}