/* The 2x2 table shared by the public calculator pages and the in-app calculator. Only --e-* tokens are used
   here; they fall back to whichever token set the host page defines (public: --raised, --ground; app: --paper). */
:root{--e-raised:var(--paper-raised,var(--raised,#fff));--e-ground:var(--paper,var(--ground,#f2f3f5));--e-line:var(--line,#dee1e7);--e-ink:var(--ink,#15171c);--e-muted:var(--muted,#565b66);--e-accent:var(--accent,#046e63);--e-accent-strong:var(--accent-strong,#024d44);--e-accent-on:var(--accent-on,#fff);--e-focus:var(--focus,var(--accent,#046e63));--e-sans:var(--font-sans,Manrope,system-ui,sans-serif);--e-mono:var(--font-mono,"IBM Plex Mono",ui-monospace,monospace)}

.epi-modes{display:flex;flex-direction:column;gap:.4rem;margin:0 0 .5rem}
.epi-legend{font-weight:600;font-size:.9rem;color:var(--e-ink)}
.epi-pills{display:flex;flex-wrap:wrap;gap:.5rem}
.epi-mode{display:inline-flex;align-items:center;min-height:44px;padding:0 .9rem;border:1px solid var(--e-line);border-radius:999px;background:var(--e-raised);color:var(--e-ink);font-size:.9rem;font-weight:600;text-decoration:none}
.epi-mode[aria-current=page]{background:var(--e-accent);border-color:var(--e-accent);color:var(--e-accent-on)}
.epi-mode:focus-visible{outline:2px solid var(--e-focus);outline-offset:2px}
.epi-help{font-size:.85rem;color:var(--e-muted);margin:0 0 1rem}

.epi-toggle{margin:0 0 .5rem}
.epi-h{font-size:1rem;margin:.2rem 0 .2rem}
.epi-hint{font-size:.85rem;color:var(--e-muted);margin:0 0 .5rem}
.epi-table[hidden],.epi-direct[hidden]{display:none}
.epi-direct .field{margin:0 0 .9rem}

.t22{display:grid;grid-template-columns:minmax(4.2rem,76px) minmax(0,1fr) minmax(0,1fr) minmax(3.4rem,max-content);border:1px solid var(--e-line);border-radius:10px;overflow:hidden;background:var(--e-raised);margin:.2rem 0 .9rem}
.t22>*{border-right:1px solid var(--e-line);border-bottom:1px solid var(--e-line);min-width:0}
.t22>*:nth-child(4n){border-right:0}
.t22>*:nth-last-child(-n+4){border-bottom:0}
.t22 .ch,.t22 .rh{font-size:.8rem;font-weight:600;color:var(--e-muted);padding:.5rem .4rem;display:flex;align-items:center;line-height:1.25;overflow-wrap:anywhere}
.t22 .ch{justify-content:center;text-align:center;background:var(--e-ground)}
.t22 .rh{background:var(--e-ground)}
.t22 .corner{background:var(--e-ground)}
.t22 .tot{display:flex;align-items:center;justify-content:center;background:var(--e-ground);font:700 1.05rem var(--e-sans);padding:0 .5rem;font-variant-numeric:tabular-nums;min-height:56px;color:var(--e-ink)}
.t22 .tot.grand{color:var(--e-accent-strong)}
.t22 .cell{position:relative;background:var(--e-raised)}
.t22 .cell input{-webkit-appearance:none;appearance:none;width:100%;min-height:56px;border:0;background:transparent;color:var(--e-ink);text-align:center;font:600 1.15rem var(--e-sans);font-variant-numeric:tabular-nums;padding:.9rem .3rem .1rem;border-radius:0;margin:0}
.t22 .cell input:focus-visible{outline:2px solid var(--e-focus);outline-offset:-2px}
.t22 .cell input[aria-invalid=true]{box-shadow:inset 0 0 0 2px #c2410c}
.t22 .cell .tag{position:absolute;top:.25rem;left:.4rem;font-size:.68rem;font-weight:700;color:var(--e-muted);pointer-events:none;letter-spacing:.01em}

.epi-rh{font-size:1.05rem;margin:0 0 .4rem}
.epi-res{margin:0}
.epi-res>div{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.45rem 0;border-bottom:1px solid var(--e-line)}
.epi-res>div:last-child{border-bottom:0}
.epi-res dt{font-size:.9rem;font-weight:600;min-width:0}
.epi-res .f{display:block;font:400 .74rem var(--e-mono);color:var(--e-muted);margin-top:.1rem;overflow-wrap:anywhere}
.epi-res dd{margin:0;font:700 1.2rem var(--e-sans);font-variant-numeric:tabular-nums;text-align:right;flex:none}
.epi-res .lead dd{font-size:1.5rem;color:var(--e-accent-strong)}
.epi-res .na{font:600 .85rem var(--e-sans);color:var(--e-muted)}
.epi-result .static-note{font-size:.85rem;color:var(--e-muted);margin:.6rem 0 0}
