.earncalc{border:1px solid var(--line);background:var(--panel);--ec-track:color-mix(in srgb, var(--ink) 12%, var(--panel));--ec-inset:color-mix(in srgb, var(--ink) 4%, var(--panel));--ec-locked:var(--quiet);--ec-thumb:22px;--ec-thumb-hi:color-mix(in srgb, #fff 58%, var(--gold));--ec-thumb-mid:var(--goldtext);--ec-thumb-lo:color-mix(in srgb, #000 32%, var(--goldtext));--ec-thumb-drop:0 1px 2px #0000004d, 0 3px 7px #00000038;--ec-shadow:0 1px 2px color-mix(in srgb, var(--ink) 7%, transparent), 0 8px 24px color-mix(in srgb, var(--ink) 8%, transparent);box-shadow:var(--ec-shadow);border-radius:16px;padding:1.25rem 1.1rem 1.1rem;position:relative}.earncalc-page{padding:1.6rem 1.5rem 1.4rem}.earncalc :focus-visible{outline:2px solid var(--glow,var(--gold));outline-offset:3px;border-radius:999px}.earncalc-scoreline{justify-content:space-between;align-items:baseline;gap:.75rem;display:flex}.earncalc-lab{font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--quiet);cursor:pointer;font-size:.7rem}.earncalc-scorenum{font-family:var(--mono);font-variant-numeric:tabular-nums;font-size:1.3rem;font-weight:500}.earncalc-track{margin:1rem 0 .25rem;position:relative}.earncalc-track-gated{margin-top:1.85rem}.earncalc-range{appearance:none;z-index:2;width:100%;height:28px;accent-color:var(--goldtext);cursor:pointer;background:0 0;margin:0;display:block;position:relative}.earncalc-range::-webkit-slider-runnable-track{background:var(--ec-track);border-radius:999px;height:6px}.earncalc-range::-moz-range-track{background:var(--ec-track);border-radius:999px;height:6px}.earncalc-range::-webkit-slider-thumb{appearance:none;box-sizing:border-box;width:var(--ec-thumb);height:var(--ec-thumb);margin-top:calc((6px - var(--ec-thumb)) / 2);border:2px solid var(--bg);background:radial-gradient(circle at 50% 24%, var(--ec-thumb-hi) 0%, transparent 62%), linear-gradient(180deg, var(--ec-thumb-mid) 0%, var(--ec-thumb-lo) 100%);box-shadow:var(--ec-thumb-drop);border-radius:50%}.earncalc-range::-moz-range-thumb{box-sizing:border-box;width:var(--ec-thumb);height:var(--ec-thumb);border:2px solid var(--bg);background:radial-gradient(circle at 50% 24%, var(--ec-thumb-hi) 0%, transparent 62%), linear-gradient(180deg, var(--ec-thumb-mid) 0%, var(--ec-thumb-lo) 100%);box-shadow:var(--ec-thumb-drop);border-radius:50%}.earncalc-range:hover,.earncalc-range:active{--ec-thumb-hi:color-mix(in srgb, #fff 78%, var(--gold));--ec-thumb-mid:color-mix(in srgb, var(--gold) 45%, var(--goldtext))}.earncalc-gatemark{z-index:1;background:var(--goldtext);opacity:.75;width:2px;margin-left:-1px;position:absolute;top:4px;bottom:4px}.earncalc-gatelabel{font-family:var(--mono);letter-spacing:.06em;color:var(--goldtext);font-size:11px;position:absolute;bottom:calc(100% + .3rem);left:50%;transform:translate(-50%)}.earncalc-fill{z-index:1;background:var(--ec-locked);pointer-events:none;border-radius:999px;height:6px;position:absolute;top:11px;left:0}.earncalc.is-qualified .earncalc-fill{background:linear-gradient(90deg, var(--gold), var(--gold-pale))}.earncalc-hint{border-left:2px solid var(--glow,var(--gold));background:color-mix(in srgb, var(--gold) 12%, transparent);font-family:var(--mono);letter-spacing:.03em;color:var(--goldtext);border-radius:0 6px 6px 0;align-items:center;gap:.5rem;margin:.6rem 0 0;padding:.45rem .6rem;font-size:.82rem;font-weight:500;line-height:1.35;display:flex}.earncalc-hint:before{content:"↔";color:var(--glow,var(--gold));flex:none;font-size:1.05rem;line-height:1}.earncalc-gate .earncalc-hint{margin-top:.75rem}.earncalc-status{text-align:center;flex-direction:column;justify-content:center;gap:.2rem;min-height:5.5rem;margin-top:1.25rem;display:flex}.earncalc-big{font-family:var(--mono);font-variant-numeric:tabular-nums;color:var(--ec-locked);margin:0;font-size:clamp(1.75rem,8vw,2.5rem);font-weight:500;line-height:1.1}.earncalc-big.is-money{color:var(--goldtext)}.earncalc-sub{color:var(--quiet);margin:0;font-size:.85rem}.earncalc-acc{text-align:center;color:var(--quiet);margin:.9rem 0 0;font-size:.85rem}.earncalc-ledger{border:1px solid var(--line);background:var(--ec-inset);font-family:var(--mono);font-variant-numeric:tabular-nums;border-radius:10px;margin-top:1.1rem;overflow:hidden}.earncalc-row{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:.75rem;padding:.65rem .85rem;font-size:.82rem;display:flex}.earncalc-row:first-child{border-top:0}.earncalc-k{color:var(--quiet);font-family:var(--sans)}.earncalc-v{text-align:right;font-weight:500}.earncalc-row.is-money .earncalc-v{color:var(--goldtext);font-size:1rem}.earncalc-row.is-pending .earncalc-v{color:var(--ec-locked);font-weight:400}.earncalc-stamp{border:1.5px solid var(--goldtext);font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--goldtext);border-radius:4px;padding:.05rem .5rem;font-size:.68rem;font-weight:500;line-height:1.7;display:inline-block;transform:rotate(-1.5deg)}.earncalc-stamp.is-off{border-color:var(--ec-locked);color:var(--ec-locked);transform:none}.earncalc-footnote{color:var(--quiet);margin:1rem 0 0;font-size:.75rem;line-height:1.5}.earncalc-ring{border-radius:inherit;pointer-events:none;position:absolute;inset:0}@keyframes earncalc-unlock{0%{box-shadow:0 0 0 0 color-mix(in srgb, var(--gold) 55%, transparent)}to{box-shadow:0 0 0 26px color-mix(in srgb, var(--gold) 0%, transparent)}}@keyframes earncalc-thumb-idle{0%,to{box-shadow:var(--ec-thumb-drop), 0 0 0 0 color-mix(in srgb, var(--glow,var(--gold)) 0%, transparent);transform:scale(1)}45%{box-shadow:var(--ec-thumb-drop), 0 0 0 7px color-mix(in srgb, var(--glow,var(--gold)) 34%, transparent);transform:scale(1.09)}}@media (prefers-reduced-motion:no-preference){.earncalc-ring{animation:.8s ease-out earncalc-unlock}.earncalc.is-idle .earncalc-range::-webkit-slider-thumb{animation:2s ease-in-out infinite earncalc-thumb-idle}.earncalc.is-idle .earncalc-range::-moz-range-thumb{animation:2s ease-in-out infinite earncalc-thumb-idle}.earncalc-fill{transition:background .35s}.earncalc-stamp{transition:color .25s,border-color .25s,transform .25s}}@media (min-width:32rem){.earncalc-row{padding:.7rem 1rem;font-size:.9rem}.earncalc-sub,.earncalc-acc{font-size:.9rem}.earncalc-hint{padding:.5rem .7rem;font-size:.9rem}}
