/* Prep-o-meter — tool-only styles. All classes namespaced `pm-` so
   they cannot collide with the site design system. Generated by
   prepometer/integrate.py; edit the source there, not here. */

.prepometer *, .prepometer *::before, .prepometer *::after {box-sizing:border-box}.prepometer {margin:0;font-family:var(--sans);color:var(--ink);background:var(--surface-2);
     -webkit-font-smoothing:antialiased;font-size:15px;line-height:1.55}.prepometer .wrap {max-width:1140px;margin:0 auto;padding:0 20px}.prepometer .pm-top {background:var(--surface);border-bottom:1px solid var(--line)}.prepometer .pm-top .wrap {padding-top:28px;padding-bottom:26px}.prepometer .eyebrow {display:inline-block;font-size:12px;font-weight:700;letter-spacing:.08em;
         text-transform:uppercase;color:var(--primary);background:var(--primary-050);
         border:1px solid var(--primary-100);border-radius:99px;padding:4px 11px;margin-bottom:12px}.prepometer h1 {font-size:clamp(26px,4vw,38px);line-height:1.15;margin:0 0 8px;letter-spacing:-.02em;font-weight:800}.prepometer .lede {color:var(--ink-500);margin:0;max-width:720px}.prepometer .pm-disclaimer {margin:14px 0 0;font-size:12.5px;color:var(--ink-400);max-width:720px}.prepometer .pm-grid {display:grid;grid-template-columns:1fr 360px;gap:26px;align-items:start;padding:26px 0 60px}
@media(max-width:960px){.prepometer .pm-grid {grid-template-columns:1fr}}
.prepometer .pm-panel {background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);
       box-shadow:var(--shadow-sm);overflow:hidden}.prepometer .pm-panel-head {padding:16px 20px;border-bottom:1px solid var(--line);display:flex;
            align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.prepometer .pm-panel-head h2 {margin:0;font-size:16px;font-weight:700;letter-spacing:-.01em}.prepometer .pm-panel-head .pm-sub {font-size:12.5px;color:var(--ink-400);margin:2px 0 0}.prepometer .btn {appearance:none;border:1px solid var(--line-2);background:var(--surface);color:var(--ink-700);
     font:inherit;font-size:13px;font-weight:600;padding:7px 12px;border-radius:var(--r-sm);
     cursor:pointer;transition:.15s}.prepometer .btn:hover {background:var(--surface-2);border-color:var(--ink-400)}.prepometer .btn-row {display:flex;gap:8px;flex-wrap:wrap}.prepometer .pm-tree {padding:0 0 4px}.prepometer .node[data-subject="Physics"] {--hue:#4338CA;--hue-soft:#A9A2F5;--tint1:#ECEBFE;--tint2:#F7F6FF}.prepometer .node[data-subject="Chemistry"] {--hue:#0D7A6E;--hue-soft:#7FBDB6;--tint1:#DFF3F0;--tint2:#F2FAF9}.prepometer .node[data-subject="Mathematics"] {--hue:#D97706;--hue-soft:#F0B968;--tint1:#FEF1DE;--tint2:#FEFAF2}.prepometer .node {border-top:1px solid var(--line)}.prepometer .node:first-child {border-top:0}.prepometer .node-head {display:grid;grid-template-columns:22px 1fr auto;gap:10px;align-items:center;
           padding:9px 18px 9px 0;border-left:4px solid transparent;transition:background .12s}.prepometer .node[data-depth="0"]>.node-head {background:var(--ink);border-left-color:var(--ink)}.prepometer .node[data-depth="0"]>.node-head .node-name {color:#fff;font-weight:800;font-size:15px;letter-spacing:-.01em}.prepometer .node[data-depth="0"]>.node-head .twisty {color:rgba(255,255,255,.6)}.prepometer .node[data-depth="0"]>.node-head .twisty:hover {background:rgba(255,255,255,.14);color:#fff}.prepometer .node[data-depth="0"]>.node-head .node-val {color:rgba(255,255,255,.92)}.prepometer .node[data-depth="0"].is-unrated>.node-head .node-val {color:rgba(255,255,255,.45)}.prepometer .node[data-depth="1"]>.node-head {background:var(--tint1);border-left-color:var(--hue)}.prepometer .node[data-depth="1"]>.node-head .node-name {font-weight:800;color:var(--hue)}.prepometer .node[data-depth="2"]>.node-head {background:var(--tint2);border-left-color:var(--hue-soft)}.prepometer .node[data-depth="2"]>.node-head .node-name {font-weight:700;color:var(--ink-700)}.prepometer .node[data-depth="3"]>.node-head {background:var(--surface);border-left-color:var(--tint1)}.prepometer .node[data-depth="3"]>.node-head .node-name {font-weight:500;color:var(--ink-700);font-size:14px}.prepometer .node[data-depth="3"]>.node-head:hover {background:var(--surface-2)}.prepometer .node-kids {display:none}.prepometer .node.open>.node-kids {display:block}.prepometer .twisty {appearance:none;border:0;background:none;cursor:pointer;padding:0;width:22px;height:22px;
        color:var(--ink-400);display:flex;align-items:center;justify-content:center;border-radius:5px;
        margin-left:14px}.prepometer .twisty:hover {background:rgba(11,16,35,.07);color:var(--ink)}.prepometer .twisty svg {transition:transform .15s ease}.prepometer .node.open>.node-head .twisty svg {transform:rotate(90deg)}.prepometer .twisty.hidden {visibility:hidden}.prepometer .node-label {min-width:0}.prepometer .node-name {display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.prepometer .node-rate {display:flex;align-items:center;gap:9px}.prepometer .ctrl {position:relative;width:176px;height:28px;background:var(--surface);
      border:1px solid var(--line-2);border-radius:99px;display:flex;align-items:center;
      padding:0 10px;box-shadow:inset 0 1px 2px rgba(11,16,35,.04)}.prepometer .node[data-depth="0"]>.node-head .ctrl {border-color:rgba(255,255,255,.28)}
@media(max-width:700px){.prepometer .ctrl {width:118px;padding:0 8px}}
.prepometer .slider {-webkit-appearance:none;appearance:none;width:100%;height:22px;background:transparent;
        cursor:pointer;margin:0;display:block}.prepometer .slider::-webkit-slider-runnable-track {height:7px;border-radius:99px;
  background:linear-gradient(to right, var(--hue,var(--primary)) 0 var(--fill,0%),
                             var(--surface-3) var(--fill,0%) 100%)}.prepometer .slider::-moz-range-track {height:7px;border-radius:99px;
  background:linear-gradient(to right, var(--hue,var(--primary)) 0 var(--fill,0%),
                             var(--surface-3) var(--fill,0%) 100%)}.prepometer .slider::-webkit-slider-thumb {-webkit-appearance:none;width:17px;height:17px;border-radius:50%;
  background:var(--hue,var(--primary));border:2.5px solid #fff;
  box-shadow:0 1px 3px rgba(11,16,35,.35);margin-top:-5px}.prepometer .slider::-moz-range-thumb {width:17px;height:17px;border-radius:50%;background:var(--hue,var(--primary));
  border:2.5px solid #fff;box-shadow:0 1px 3px rgba(11,16,35,.35)}.prepometer .slider:focus-visible {outline:none}.prepometer .slider:focus-visible::-webkit-slider-thumb {box-shadow:0 0 0 4px var(--primary-100)}.prepometer .node.is-unrated>.node-head .slider::-webkit-slider-thumb {background:var(--line-2);box-shadow:none}.prepometer .node.is-unrated>.node-head .slider::-moz-range-thumb {background:var(--line-2);box-shadow:none}.prepometer .locked {display:none;align-items:center;gap:7px;width:100%;color:var(--ink-400)}.prepometer .node.is-locked>.node-head .slider {display:none}.prepometer .node.is-locked>.node-head .locked {display:flex}.prepometer .node.is-locked>.node-head .ctrl {background:repeating-linear-gradient(-45deg,
       rgba(11,16,35,.032) 0 5px, transparent 5px 10px), var(--surface-2);
  border-style:dashed;border-color:var(--line-2);box-shadow:none}.prepometer .node[data-depth="0"].is-locked>.node-head .ctrl {background:rgba(255,255,255,.08);
  border-color:rgba(255,255,255,.3)}.prepometer .node[data-depth="0"].is-locked>.node-head .locked {color:rgba(255,255,255,.65)}.prepometer .locked .pm-track {flex:1;height:7px;border-radius:99px;background:var(--line);overflow:hidden}.prepometer .node[data-depth="0"].is-locked>.node-head .locked .pm-track {background:rgba(255,255,255,.2)}.prepometer .locked .pm-track>i {display:block;height:100%;border-radius:99px;background:var(--ink-400);
                 transition:width .2s}.prepometer .node[data-depth="0"].is-locked>.node-head .locked .pm-track>i {background:rgba(255,255,255,.7)}.prepometer .locked svg {flex:0 0 11px}.prepometer .node-val {width:52px;text-align:right;font-variant-numeric:tabular-nums;font-size:13px;
          font-weight:700;color:var(--hue,var(--primary))}.prepometer .node.is-unrated>.node-head .node-val {color:var(--ink-400);font-weight:500}.prepometer .node.is-derived>.node-head .node-val {color:var(--ink-500);font-weight:600}.prepometer .node-clear {appearance:none;border:0;background:none;color:var(--ink-400);cursor:pointer;
            width:22px;height:22px;border-radius:5px;font-size:15px;line-height:1;visibility:hidden;
            flex:0 0 22px}.prepometer .node-clear:hover {background:var(--danger-100);color:var(--danger)}.prepometer .node.can-clear>.node-head .node-clear {visibility:visible}.prepometer .pm-sticky {position:sticky;top:16px;display:grid;gap:16px}.prepometer .pm-gauge {padding:18px 20px 4px;text-align:center}.prepometer .pm-gauge svg {width:100%;max-width:260px;height:auto;display:block;margin:0 auto}.prepometer .pm-score {font-size:44px;font-weight:800;letter-spacing:-.03em;line-height:1;margin:-38px 0 0}.prepometer .pm-score small {font-size:16px;font-weight:600;color:var(--ink-400);letter-spacing:0}.prepometer .pm-score-cap {font-size:12.5px;color:var(--ink-400);margin:6px 0 14px}.prepometer .pm-stats {display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line)}.prepometer .pm-stat {padding:12px 16px;text-align:center}.prepometer .pm-stat+.pm-stat {border-left:1px solid var(--line)}.prepometer .pm-stat b {display:block;font-size:18px;font-weight:800;font-variant-numeric:tabular-nums}.prepometer .pm-stat span {font-size:11.5px;color:var(--ink-400)}.prepometer .pm-subs {padding:14px 20px 18px;border-top:1px solid var(--line);display:grid;gap:11px}.prepometer .sub-row {display:grid;grid-template-columns:1fr auto;gap:6px;font-size:13px}.prepometer .sub-row b {font-weight:600}.prepometer .sub-row i {font-style:normal;font-variant-numeric:tabular-nums;color:var(--ink-500);font-weight:700}.prepometer .pm-bar {grid-column:1/-1;height:6px;border-radius:99px;background:var(--surface-3);overflow:hidden}.prepometer .pm-bar>i {display:block;height:100%;border-radius:99px;transition:width .2s}.prepometer .pm-list {padding:0}.prepometer .row {display:grid;grid-template-columns:1fr auto;gap:4px 12px;padding:10px 20px;
     border-top:1px solid var(--line);align-items:baseline}.prepometer .row:first-child {border-top:0}.prepometer .row .pm-nm {font-size:13.5px;font-weight:600}.prepometer .row .pm-why {grid-column:1/-1;font-size:11.5px;color:var(--ink-400)}.prepometer .row .pm-amt {font-size:13px;font-weight:800;font-variant-numeric:tabular-nums;color:var(--danger);white-space:nowrap}.prepometer .row.win .pm-amt {color:var(--positive)}.prepometer .empty {padding:16px 20px;color:var(--ink-400);font-size:13px;border-top:1px solid var(--line)}.prepometer .empty:first-child {border-top:0}.prepometer .pm-summary {padding:13px 20px;background:var(--primary-050);border-top:1px solid var(--primary-100);
         font-size:13px;color:var(--ink-700)}.prepometer .pm-summary b {color:var(--primary)}.prepometer .pm-how {background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);
     padding:20px 22px 18px;margin:22px 0 0;box-shadow:var(--shadow-sm)}.prepometer .pm-how h2 {margin:0 0 3px;font-size:15px;font-weight:800;letter-spacing:-.01em}.prepometer .pm-how .pm-how-sub {margin:0 0 16px;font-size:12.5px;color:var(--ink-400)}.prepometer .pm-key {margin:0 0 18px;padding:13px 16px;background:var(--primary-050);
     border:1px solid var(--primary-100);border-left:3px solid var(--primary);
     border-radius:var(--r);font-size:14px;color:var(--ink-700);line-height:1.5}.prepometer .pm-key b {display:block;font-size:11.5px;font-weight:800;letter-spacing:.07em;
       text-transform:uppercase;color:var(--primary);margin-bottom:4px}.prepometer .pm-key i {font-style:normal;font-weight:700;color:var(--ink)}.prepometer .pm-steps {list-style:none;margin:0;padding:0;display:grid;gap:14px;
       grid-template-columns:repeat(4,1fr);counter-reset:s}
@media(max-width:860px){.prepometer .pm-steps {grid-template-columns:repeat(2,1fr)}}

@media(max-width:520px){.prepometer .pm-steps {grid-template-columns:1fr}}
.prepometer .pm-steps li {counter-increment:s;position:relative;padding-left:32px;font-size:13px;
          color:var(--ink-500);line-height:1.5}.prepometer .pm-steps li::before {content:counter(s);position:absolute;left:0;top:-1px;width:22px;height:22px;
  border-radius:50%;background:var(--primary-050);border:1px solid var(--primary-100);
  color:var(--primary);font-size:11.5px;font-weight:800;display:flex;align-items:center;
  justify-content:center}.prepometer .pm-steps b {display:block;color:var(--ink);font-weight:700;font-size:13.5px;margin-bottom:1px}.prepometer .pm-how-note {margin:16px 0 0;padding-top:14px;border-top:1px solid var(--line);
          font-size:12.5px;color:var(--ink-500);display:grid;gap:7px}.prepometer .pm-how-note span {display:flex;gap:8px;align-items:flex-start}.prepometer .pm-how-note svg {flex:0 0 12px;margin-top:3px;color:var(--ink-400)}.prepometer .foot {padding:26px 0 40px;color:var(--ink-400);font-size:12px;text-align:center}.prepometer .warn {background:var(--accent-100);border:1px solid #F2D9A8;color:#7A4A05;border-radius:var(--r);
      padding:10px 14px;font-size:12.5px;margin:0 0 18px}
