<!DOCTYPE html><html lang="es" data-beasties-container><head>
  <meta charset="utf-8">
  <!-- Migrate old localStorage keys to new format (one-time, backwards compatible) -->
  <script>
    (function() {
      try {
        var migrations = [
          ['app-platform', 'avg:platform'],
          ['selectedLanguage', 'avg:language'],
          ['defaultCalculator', 'avg:calculator'],
          ['theme', 'avg:theme'],
          ['average-calculator-saved-sets', 'avg:saved-sets'],
          ['weighted-calculator-saved-sets', 'avg:saved-sets-weighted'],
          ['arithmetic-calculator-saved-sets', 'avg:saved-sets-arithmetic'],
          ['average-calculator-examen-final', 'avg:examen-final'],
          ['average-calculator-temp-session', 'avg:temp-session'],
          ['weighted-calculator-temp-session', 'avg:temp-session-weighted'],
          ['arithmetic-calculator-temp-session', 'avg:temp-session-arithmetic'],
          ['gpa-calculator-temp-session', 'avg:gpa-temp-session'],
          ['symbols', 'avg:symbols'],
          ['nterm-calculator-settings', 'avg:nterm-settings'],
          ['sw-migration-version', 'avg:sw-migration']
        ];
        migrations.forEach(function(m) {
          var oldVal = localStorage.getItem(m[0]);
          if (oldVal !== null) {
            // Only copy if new key doesn't exist yet
            if (localStorage.getItem(m[1]) === null) {
              localStorage.setItem(m[1], oldVal);
            }
            // Always remove old key
            localStorage.removeItem(m[0]);
          }
        });
      } catch(e) {}
    })();
  </script>

  <!-- Device detection - must be blocking to prevent UI flash -->
  <script>
    (function() {
      // Capture PWA install prompt early (before library loads)
      window.addEventListener('beforeinstallprompt', function(e) {
        e.preventDefault();
        e.stopPropagation();
        e.stopImmediatePropagation();
        window.deferredPrompt = e;
      });

      var ua = navigator.userAgent;
      // Safari desktop detection (for gradient fix)
      var isSafari = ua.includes('Safari') && !ua.includes('Chrome') && !ua.includes('Chromium');
      var isDesktop = !/iPhone|iPad|iPod|Android/i.test(ua);
      if (isSafari && isDesktop) {
        document.documentElement.classList.add('is-safari-desktop');
      }

      // Virtual keyboard detection for mobile devices
      var isMobile = /iPhone|iPod|Android.*Mobile|webOS|BlackBerry|IEMobile|Opera Mini/i.test(ua);
      var isTablet = /iPad/i.test(ua) ||
                     (/Android/i.test(ua) && !/Mobile/i.test(ua)) ||
                     (ua.includes('Macintosh') && 'ontouchend' in document);

      if (isMobile || isTablet) {
        document.documentElement.classList.add('virtual-keyboard-enabled');
      }

      // App/PWA detection - prevents content flash on load
      var params = new URLSearchParams(window.location.search);
      var platform = params.get('platform');
      var region = params.get('region');

      // Save platform and region to localStorage if provided via URL (from iOS/Android)
      // These are always overwritten on app launch to ensure fresh values
      if (platform === 'ios-wrapper' || platform === 'android-wrapper') {
        try { localStorage.setItem('avg:platform', platform); } catch(e) {}
      }
      if (region) {
        try { localStorage.setItem('avg:region', region); } catch(e) {}
      }

      // Check localStorage for saved platform (persists across navigations)
      var savedPlatform = null;
      try { savedPlatform = localStorage.getItem('avg:platform'); } catch(e) {}

      var isNativeWrapper = savedPlatform === 'ios-wrapper' || savedPlatform === 'android-wrapper';
      var isPWA = savedPlatform === 'pwa' ||
                  ('standalone' in navigator && navigator.standalone) ||
                  window.matchMedia('(display-mode: standalone)').matches;

      // Save PWA platform to localStorage for consistent detection
      if (isPWA && savedPlatform !== 'pwa' && !isNativeWrapper) {
        try { localStorage.setItem('avg:platform', 'pwa'); } catch(e) {}
      }

      if (isNativeWrapper || isPWA) {
        document.documentElement.classList.add('is-app');
      } else {
        document.documentElement.classList.add('is-web');
      }

      // Offline detection - add class immediately if offline
      if (!navigator.onLine) {
        document.documentElement.classList.add('offline');
      }
    })();
  </script>
  <!-- Critical CSS for mode switching - must be inline to prevent flash -->
  <style>
    .is-app .web-only { display: none !important; }
    .is-web .app-only { display: none !important; }
    .offline .app-scroll-wrapper { height: calc(100dvh - 28px); margin-top: 28px; }
  </style>
  <title>Calculador de Notas: Promedio Ponderado y Examen Final 2026</title>

  <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=5">
  <meta name="description" content="Calcula mi promedio de notas (funciona sin conexión): media ponderada, notas con porcentaje. Ideal para ESPOL y UPAO. ¿Cuánto necesito para el final?">
  <meta name="robots" content="index, follow">

  <!-- Open Graph -->
  <meta property="og:title" content="Calculador de Notas: Promedio Ponderado y Examen Final 2026">
  <meta property="og:description" content="Calcula mi promedio de notas (funciona sin conexión): media ponderada, notas con porcentaje. Ideal para ESPOL y UPAO. ¿Cuánto necesito para el final?">
  <meta property="og:site_name" content="Promedio.app">
  <meta property="og:url" content="https://promedio.app">
  <meta property="og:type" content="website">
  <meta property="og:image" content="https://promedio.app/assets/og-image.png">

  <!-- Automatic translation is breaking the calculator we have to disable it -->
  <meta name="google" content="notranslate">

  <!-- Canonical URL -->
  <link rel="canonical" id="link-canonical" href="https://promedio.app">

  <!-- Sitemap -->
  <link rel="sitemap" type="application/xml" title="Sitemap" href="/sitemap.xml">

  <!-- Favicon and App Icon -->
  <link rel="icon" type="image/png" sizes="192x192" href="/assets/icons/favicon/192.png">
  <link rel="icon" type="image/png" sizes="96x96" href="/assets/icons/favicon/96.png">
  <link rel="icon" type="image/png" sizes="32x32" href="/assets/icons/favicon/32.png">
  <link rel="icon" type="image/png" sizes="16x16" href="/assets/icons/favicon/16.png">
  <link rel="apple-touch-icon" sizes="57x57" href="/assets/icons/pwa/ios/57.png">
  <link rel="apple-touch-icon" sizes="60x60" href="/assets/icons/pwa/ios/60.png">
  <link rel="apple-touch-icon" sizes="72x72" href="/assets/icons/pwa/ios/72.png">
  <link rel="apple-touch-icon" sizes="76x76" href="/assets/icons/pwa/ios/76.png">
  <link rel="apple-touch-icon" sizes="114x114" href="/assets/icons/pwa/ios/114.png">
  <link rel="apple-touch-icon" sizes="120x120" href="/assets/icons/pwa/ios/120.png">
  <link rel="apple-touch-icon" sizes="144x144" href="/assets/icons/pwa/ios/144.png">
  <link rel="apple-touch-icon" sizes="152x152" href="/assets/icons/pwa/ios/152.png">
  <link rel="apple-touch-icon" sizes="180x180" href="/assets/icons/pwa/ios/180.png">

  <meta name="msapplication-TileColor" content="#ffffff">
  <meta name="msapplication-TileImage" content="/ms-icon-144x144.png">

  <!-- Color scheme support for Safari -->
  <meta name="color-scheme" content="light dark">

  <!-- Theme color for light mode -->
  <meta name="theme-color" content="#F9FAFF" media="(prefers-color-scheme: light)">

  <!-- Theme color for dark mode -->
  <meta name="theme-color" content="#0f172a" media="(prefers-color-scheme: dark)">

  <base href="/">

  <!-- Preconnect for third-party origins -->
  <link rel="preconnect" href="https://analytics.incremio.com" crossorigin>

  <link rel="manifest" href="manifest.webmanifest">

  <!-- Polyfill for Promise.withResolvers (for older browsers like Safari 15) -->
  <script>
    if (typeof Promise !== 'undefined' && !Promise.withResolvers) {
      Promise.withResolvers = function () {
        let resolve, reject;
        const promise = new Promise(function (res, rej) {
          resolve = res;
          reject = rej;
        });
        return { promise: promise, resolve: resolve, reject: reject };
      };
    }
  </script>

  <!-- Analytics -->
  <script defer data-domain="promedio.app" src="https://analytics.incremio.com/js/script.js"></script>

  <!-- Set theme, calculator and saved calculations state before Angular bootstraps to prevent SSR/hydration mismatch -->
  <script>
    (function () {
      try {
        var path = window.location.pathname;
        // Known language codes (2-3 letters) - must be explicit to avoid matching routes like /gpa
        var knownLangs = ['cs', 'sk', 'pl', 'hu', 'de', 'fr', 'it', 'nl', 'es', 'pt', 'ro', 'fi', 'sv', 'nb', 'da', 'en', 'ua', 'uk'];
        var langMatch = path.match(/^\/([a-z]{2,3})\/?$/);
        var isHomepage = path === '/' || (langMatch && knownLangs.indexOf(langMatch[1]) !== -1);

        // Redirect to preferred language on homepage before Angular loads
        // Only in app/PWA mode - web users should respect URL they navigated to
        var savedPlatform = null;
        try { savedPlatform = localStorage.getItem('avg:platform'); } catch(e) {}
        var isAppMode = savedPlatform === 'ios-wrapper' || savedPlatform === 'android-wrapper' ||
                        window.matchMedia('(display-mode: standalone)').matches ||
                        (navigator.standalone === true);

        if (isAppMode && isHomepage) {
          var storedLang = localStorage.getItem('avg:language');
          var defaultLang = 'es'; // Injected at build time

          if (storedLang) {
            // Detect current language from URL
            var langMatch = path.match(/^\/([a-z]{2,3})\/?$/);
            var currentLang = langMatch ? langMatch[1] : defaultLang;

            // Redirect if stored language differs from current
            if (storedLang !== currentLang) {
              var newPath = storedLang === defaultLang ? '/' : '/' + storedLang;
              window.location.replace(newPath);
              return;
            }
          }
        }

        // Redirect to default calculator on homepage before Angular loads
        // Priority: user preference > region default > 'grades'
        // Safe to always redirect - /gpa won't trigger this because isHomepage uses explicit lang list
        if (isHomepage) {
          var userCalc = localStorage.getItem('avg:calculator');
          var region = localStorage.getItem('avg:region');

          // Determine effective calculator
          var effectiveCalc = userCalc;
          if (!effectiveCalc && region) {
            // Region-based defaults (only US gets GPA for now)
            if (region === 'US') {
              effectiveCalc = 'gpa';
            }
          }

          // Redirect to GPA if that's the effective calculator
          if (effectiveCalc === 'gpa') {
            var calcLangMatch = path.match(/^\/([a-z]{2,3})\/?$/);
            var gpaPath = calcLangMatch ? '/' + calcLangMatch[1] + '/gpa' : '/gpa';
            window.location.replace(gpaPath);
            return;
          }
        }

        var html = document.documentElement;

        // Theme handling
        var theme = localStorage.getItem('avg:theme') || 'system';
        var prefersDark = window.matchMedia('(prefers-color-scheme: dark)').matches;
        var isDark = theme === 'dark' || ((theme === 'system') && prefersDark);

        // Set data attribute for Angular to read synchronously
        html.dataset.themePreference = theme;
        // Effective calculator: user preference > region default > 'grades'
        var userCalcForAttr = localStorage.getItem('avg:calculator');
        var regionForAttr = localStorage.getItem('avg:region');
        var effectiveCalcForAttr = userCalcForAttr || (regionForAttr === 'US' ? 'gpa' : null) || 'grades';
        html.dataset.defaultCalculator = effectiveCalcForAttr;

        if (isDark) {
          html.classList.add('dark');
        } else {
          html.classList.remove('dark');
        }

        // Update theme-color meta tags to match actual theme
        var themeColor = isDark ? '#0f172a' : '#F9FAFF';
        var metaTags = document.querySelectorAll('meta[name="theme-color"]');
        metaTags.forEach(function(meta) {
          meta.setAttribute('content', themeColor);
        });

        // Check for saved calculations to prevent button flash
        var saved = localStorage.getItem('avg:saved-sets');
        if (saved) {
          var parsed = JSON.parse(saved);
          if (Array.isArray(parsed) && parsed.length > 0) {
            html.dataset.hasSavedCalculations = 'true';
            html.dataset.ssrPending = 'true';
          }
        }
      } catch (e) {}
    })();
  </script>
<style>.-translate-x-1\/2,.-translate-y-1\/2,.translate-x-0,.rotate-\[30deg\],.scale-95,.transform,.group-hover\:translate-x-1,.group-hover\:scale-100,.group-focus\:translate-x-1,.group-focus\:scale-100{--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1}.from-blue-50\/80,.from-blue-500,.from-blue-500\/25,.from-blue-600,.from-sapphire-blue\/30,.to-blue-200\/50,.to-blue-400,.to-blue-700,.to-sapphire-blue\/35,.to-transparent,.dark\:from-blue-400:is(.dark *),.dark\:from-blue-950\/20:is(.dark *),.dark\:to-blue-300:is(.dark *),.dark\:to-transparent:is(.dark *){--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: }.shadow-2xl,.shadow-\[0_1px_2px_rgba\(0\,0\,0\,0\.04\)\,0_4px_12px_rgba\(0\,0\,0\,0\.03\)\,inset_0_0_0_1px_rgba\(255\,255\,255\,0\.6\)\],.shadow-lg,.shadow-sm,.hover\:shadow-lg,.hover\:shadow-md,.dark\:shadow-\[0_1px_2px_rgba\(0\,0\,0\,0\.2\)\,0_4px_16px_rgba\(0\,0\,0\,0\.15\)\,inset_0_0_0_1px_rgba\(255\,255\,255\,0\.06\)\]:is(.dark *),.md\:focus\:shadow-sm,.\[\@media\(hover\:hover\)\]\:hover\:shadow-md{--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000}.ring-0,.focus\:ring-2,.focus-visible\:ring-2,.focus-visible\:ring-inset,.md\:focus\:ring-2{--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000}.blur-3xl{--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: }.backdrop-blur-sm,.backdrop\:backdrop-blur-\[2px\]::backdrop{--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}h1,h2,h3{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}strong{font-weight:bolder}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}h1,h2,h3,figure,p{margin:0}ol{list-style:none;margin:0;padding:0}dialog{padding:0}input::placeholder{opacity:1;color:#9ca3af}button{cursor:pointer}img,svg{display:block;vertical-align:middle}img{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.pointer-events-none{pointer-events:none}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{inset:0}.inset-x-0{left:0;right:0}.-right-3\.5{right:-.875rem}.-top-40{top:-10rem}.bottom-0{bottom:0}.bottom-4{bottom:1rem}.bottom-full{bottom:100%}.left-0{left:0}.left-0\.5{left:.125rem}.left-1\/2{left:50%}.left-3{left:.75rem}.left-4{left:1rem}.left-6{left:1.5rem}.left-\[calc\(50\%\+3rem\)\]{left:calc(50% + 3rem)}.left-\[calc\(50\%-11rem\)\]{left:calc(50% - 11rem)}.left-\[max\(50\%\,25rem\)\]{left:max(50%,25rem)}.right-0{right:0}.right-3{right:.75rem}.right-4{right:1rem}.top-0{top:0}.top-1\/2{top:50%}.top-3{top:.75rem}.top-4{top:1rem}.top-\[calc\(100\%-13rem\)\]{top:calc(100% - 13rem)}.top-full{top:100%}.isolate{isolation:isolate}.-z-10{z-index:-10}.z-10{z-index:10}.z-50{z-index:50}.z-\[1000\]{z-index:1000}.z-\[9000\]{z-index:9000}.z-\[9999\]{z-index:9999}.-m-1\.5{margin:-.375rem}.m-auto{margin:auto}.-mx-1{margin-left:-.25rem;margin-right:-.25rem}.mx-auto{margin-left:auto;margin-right:auto}.my-6{margin-top:1.5rem;margin-bottom:1.5rem}.mb-0{margin-bottom:0}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-5{margin-bottom:1.25rem}.mb-8{margin-bottom:2rem}.ml-3{margin-left:.75rem}.mr-3{margin-right:.75rem}.mt-0{margin-top:0}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-10{margin-top:2.5rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-5{margin-top:1.25rem}.mt-6{margin-top:1.5rem}.mt-7{margin-top:1.75rem}.mt-8{margin-top:2rem}.mt-auto{margin-top:auto}.line-clamp-1{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.grid{display:grid}.hidden{display:none}.aspect-\[1155\/678\]{aspect-ratio:1155/678}.size-6{width:1.5rem;height:1.5rem}.h-0{height:0px}.h-10{height:2.5rem}.h-11{height:2.75rem}.h-12{height:3rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-7{height:1.75rem}.h-8{height:2rem}.h-\[64rem\]{height:64rem}.h-auto{height:auto}.h-fit{height:fit-content}.h-full{height:100%}.min-h-full{min-height:100%}.w-0{width:0px}.w-1{width:.25rem}.w-10{width:2.5rem}.w-11{width:2.75rem}.w-12{width:3rem}.w-4{width:1rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-7{width:1.75rem}.w-8{width:2rem}.w-80{width:20rem}.w-\[128rem\]{width:128rem}.w-\[36\.125rem\]{width:36.125rem}.w-\[calc\(100\%-2rem\)\]{width:calc(100% - 2rem)}.w-fit{width:fit-content}.w-full{width:100%}.w-max{width:max-content}.w-px{width:1px}.min-w-0{min-width:0px}.min-w-\[240px\]{min-width:240px}.min-w-\[90px\]{min-width:90px}.max-w-3xl{max-width:48rem}.max-w-5xl{max-width:64rem}.max-w-\[220px\]{max-width:220px}.max-w-\[420px\]{max-width:420px}.max-w-lg{max-width:32rem}.max-w-md{max-width:28rem}.max-w-sm{max-width:24rem}.flex-1{flex:1 1 0%}.flex-none{flex:none}.flex-shrink-0,.shrink-0{flex-shrink:0}.flex-grow{flex-grow:1}.-translate-x-1\/2{--tw-translate-x: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-1\/2{--tw-translate-y: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-0{--tw-translate-x: 0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-\[30deg\]{--tw-rotate: 30deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-95{--tw-scale-x: .95;--tw-scale-y: .95;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform-gpu{transform:translate3d(var(--tw-translate-x),var(--tw-translate-y),0) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.cursor-help{cursor:help}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.list-none{list-style-type:none}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.flex-row-reverse{flex-direction:row-reverse}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-center{align-items:center}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-x-8{column-gap:2rem}.gap-y-16{row-gap:4rem}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.overflow-hidden{overflow:hidden}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.whitespace-nowrap{white-space:nowrap}.text-balance{text-wrap:balance}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:1rem}.rounded-3xl{border-radius:1.5rem}.rounded-\[14px\]{border-radius:14px}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-sm{border-radius:.125rem}.rounded-xl{border-radius:.75rem}.rounded-l-\[14px\]{border-top-left-radius:14px;border-bottom-left-radius:14px}.rounded-r-\[14px\]{border-top-right-radius:14px;border-bottom-right-radius:14px}.rounded-r-xl{border-top-right-radius:.75rem;border-bottom-right-radius:.75rem}.rounded-t-2xl{border-top-left-radius:1rem;border-top-right-radius:1rem}.border{border-width:1px}.border-0{border-width:0px}.border-x-4{border-left-width:4px;border-right-width:4px}.border-b-\[8px\]{border-bottom-width:8px}.border-l-\[8px\]{border-left-width:8px}.border-r-\[8px\]{border-right-width:8px}.border-t{border-top-width:1px}.border-t-4{border-top-width:4px}.border-black\/\[0\.06\]{border-color:#0000000f}.border-gray-200{--tw-border-opacity: 1;border-color:rgb(229 231 235 / var(--tw-border-opacity, 1))}.border-slate-900\/10{border-color:#0f172a1a}.border-x-transparent{border-left-color:transparent;border-right-color:transparent}.border-b-zinc-900{--tw-border-opacity: 1;border-bottom-color:rgb(24 24 27 / var(--tw-border-opacity, 1))}.border-l-transparent{border-left-color:transparent}.border-r-transparent{border-right-color:transparent}.border-t-gray-100{--tw-border-opacity: 1;border-top-color:rgb(243 244 246 / var(--tw-border-opacity, 1))}.border-t-gray-300{--tw-border-opacity: 1;border-top-color:rgb(209 213 219 / var(--tw-border-opacity, 1))}.border-t-zinc-900{--tw-border-opacity: 1;border-top-color:rgb(24 24 27 / var(--tw-border-opacity, 1))}.bg-blue-100{--tw-bg-opacity: 1;background-color:rgb(219 234 254 / var(--tw-bg-opacity, 1))}.bg-blue-50{--tw-bg-opacity: 1;background-color:rgb(239 246 255 / var(--tw-bg-opacity, 1))}.bg-blue-600{--tw-bg-opacity: 1;background-color:rgb(37 99 235 / var(--tw-bg-opacity, 1))}.bg-gray-100{--tw-bg-opacity: 1;background-color:rgb(243 244 246 / var(--tw-bg-opacity, 1))}.bg-gray-300{--tw-bg-opacity: 1;background-color:rgb(209 213 219 / var(--tw-bg-opacity, 1))}.bg-green-100{--tw-bg-opacity: 1;background-color:rgb(220 252 231 / var(--tw-bg-opacity, 1))}.bg-green-600{--tw-bg-opacity: 1;background-color:rgb(22 163 74 / var(--tw-bg-opacity, 1))}.bg-green-700{--tw-bg-opacity: 1;background-color:rgb(21 128 61 / var(--tw-bg-opacity, 1))}.bg-sapphire-blue{--tw-bg-opacity: 1;background-color:rgb(28 76 206 / var(--tw-bg-opacity, 1))}.bg-slate-100{--tw-bg-opacity: 1;background-color:rgb(241 245 249 / var(--tw-bg-opacity, 1))}.bg-slate-300{--tw-bg-opacity: 1;background-color:rgb(203 213 225 / var(--tw-bg-opacity, 1))}.bg-slate-50{--tw-bg-opacity: 1;background-color:rgb(248 250 252 / var(--tw-bg-opacity, 1))}.bg-transparent{background-color:transparent}.bg-white{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.bg-white\/75{background-color:#ffffffbf}.bg-zinc-900{--tw-bg-opacity: 1;background-color:rgb(24 24 27 / var(--tw-bg-opacity, 1))}.bg-gradient-to-b{background-image:linear-gradient(to bottom,var(--tw-gradient-stops))}.bg-gradient-to-br{background-image:linear-gradient(to bottom right,var(--tw-gradient-stops))}.bg-gradient-to-r{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.bg-gradient-to-tr{background-image:linear-gradient(to top right,var(--tw-gradient-stops))}.from-blue-50\/80{--tw-gradient-from: rgb(239 246 255 / .8) var(--tw-gradient-from-position);--tw-gradient-to: rgb(239 246 255 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-blue-500{--tw-gradient-from: #3b82f6 var(--tw-gradient-from-position);--tw-gradient-to: rgb(59 130 246 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-blue-500\/25{--tw-gradient-from: rgb(59 130 246 / .25) var(--tw-gradient-from-position);--tw-gradient-to: rgb(59 130 246 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-blue-600{--tw-gradient-from: #2563eb var(--tw-gradient-from-position);--tw-gradient-to: rgb(37 99 235 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-sapphire-blue\/30{--tw-gradient-from: rgb(28 76 206 / .3) var(--tw-gradient-from-position);--tw-gradient-to: rgb(28 76 206 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.to-blue-200\/50{--tw-gradient-to: rgb(191 219 254 / .5) var(--tw-gradient-to-position)}.to-blue-400{--tw-gradient-to: #60a5fa var(--tw-gradient-to-position)}.to-blue-700{--tw-gradient-to: #1d4ed8 var(--tw-gradient-to-position)}.to-sapphire-blue\/35{--tw-gradient-to: rgb(28 76 206 / .35) var(--tw-gradient-to-position)}.to-transparent{--tw-gradient-to: transparent var(--tw-gradient-to-position)}.stroke-gray-200{stroke:#e5e7eb}.p-0{padding:0}.p-1\.5{padding:.375rem}.p-2\.5{padding:.625rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.px-0{padding-left:0;padding-right:0}.px-1{padding-left:.25rem;padding-right:.25rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-3\.5{padding-left:.875rem;padding-right:.875rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.py-0{padding-top:0;padding-bottom:0}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-10{padding-top:2.5rem;padding-bottom:2.5rem}.py-12{padding-top:3rem;padding-bottom:3rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.py-7{padding-top:1.75rem;padding-bottom:1.75rem}.py-8{padding-top:2rem;padding-bottom:2rem}.pb-20{padding-bottom:5rem}.pl-0{padding-left:0}.pl-3{padding-left:.75rem}.pl-5{padding-left:1.25rem}.pr-4{padding-right:1rem}.pt-4{padding-top:1rem}.text-left{text-align:left}.text-center{text-align:center}.align-middle{vertical-align:middle}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-\[13px\]{font-size:13px}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-semibold{font-weight:600}.italic{font-style:italic}.leading-6{line-height:1.5rem}.leading-7{line-height:1.75rem}.leading-none{line-height:1}.leading-snug{line-height:1.375}.tracking-tight{letter-spacing:-.025em}.text-black{--tw-text-opacity: 1;color:rgb(0 0 0 / var(--tw-text-opacity, 1))}.text-blue-600{--tw-text-opacity: 1;color:rgb(37 99 235 / var(--tw-text-opacity, 1))}.text-gray-400{--tw-text-opacity: 1;color:rgb(156 163 175 / var(--tw-text-opacity, 1))}.text-gray-500{--tw-text-opacity: 1;color:rgb(107 114 128 / var(--tw-text-opacity, 1))}.text-gray-600{--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity, 1))}.text-gray-700{--tw-text-opacity: 1;color:rgb(55 65 81 / var(--tw-text-opacity, 1))}.text-gray-900{--tw-text-opacity: 1;color:rgb(17 24 39 / var(--tw-text-opacity, 1))}.text-green-100{--tw-text-opacity: 1;color:rgb(220 252 231 / var(--tw-text-opacity, 1))}.text-green-600{--tw-text-opacity: 1;color:rgb(22 163 74 / var(--tw-text-opacity, 1))}.text-sapphire-blue{--tw-text-opacity: 1;color:rgb(28 76 206 / var(--tw-text-opacity, 1))}.text-slate-400{--tw-text-opacity: 1;color:rgb(148 163 184 / var(--tw-text-opacity, 1))}.text-slate-500{--tw-text-opacity: 1;color:rgb(100 116 139 / var(--tw-text-opacity, 1))}.text-slate-600{--tw-text-opacity: 1;color:rgb(71 85 105 / var(--tw-text-opacity, 1))}.text-slate-700{--tw-text-opacity: 1;color:rgb(51 65 85 / var(--tw-text-opacity, 1))}.text-slate-800{--tw-text-opacity: 1;color:rgb(30 41 59 / var(--tw-text-opacity, 1))}.text-slate-900{--tw-text-opacity: 1;color:rgb(15 23 42 / var(--tw-text-opacity, 1))}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.text-white\/80{color:#fffc}.underline{text-decoration-line:underline}.underline-offset-4{text-underline-offset:4px}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.opacity-0{opacity:0}.opacity-30{opacity:.3}.opacity-40{opacity:.4}.opacity-50{opacity:.5}.shadow-2xl{--tw-shadow: 0 25px 50px -12px rgb(0 0 0 / .25);--tw-shadow-colored: 0 25px 50px -12px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_1px_2px_rgba\(0\,0\,0\,0\.04\)\,0_4px_12px_rgba\(0\,0\,0\,0\.03\)\,inset_0_0_0_1px_rgba\(255\,255\,255\,0\.6\)\]{--tw-shadow: 0 1px 2px rgba(0,0,0,.04),0 4px 12px rgba(0,0,0,.03),inset 0 0 0 1px rgba(255,255,255,.6);--tw-shadow-colored: 0 1px 2px var(--tw-shadow-color), 0 4px 12px var(--tw-shadow-color), inset 0 0 0 1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-lg{--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.outline-none{outline:2px solid transparent;outline-offset:2px}.ring-0{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.blur-3xl{--tw-blur: blur(64px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-blur-sm{--tw-backdrop-blur: blur(4px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-150{transition-duration:.15s}.duration-200{transition-duration:.2s}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.\[mask-image\:radial-gradient\(64rem_64rem_at_top\,white\,transparent\)\]{-webkit-mask-image:radial-gradient(64rem 64rem at top,white,transparent);mask-image:radial-gradient(64rem 64rem at top,white,transparent)}*{margin:0;padding:0;box-sizing:border-box;font-family:system-ui,Helvetica Neue,sans-serif}html{overflow:hidden;height:100%}body{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}body:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(15 23 42 / var(--tw-bg-opacity, 1))}body{overflow:hidden;height:100%}body.bg-calculator{--tw-bg-opacity: 1;background-color:rgb(249 250 255 / var(--tw-bg-opacity, 1))}body.bg-calculator:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(15 23 42 / var(--tw-bg-opacity, 1))}p{padding:5px 0;line-height:1.6em}p a{text-decoration-line:underline;text-underline-offset:4px}img{display:block;max-width:100%}.backdrop\:bg-black::backdrop{--tw-bg-opacity: 1;background-color:rgb(0 0 0 / var(--tw-bg-opacity, 1))}.backdrop\:bg-black\/60::backdrop{background-color:#0009}.backdrop\:bg-opacity-50::backdrop{--tw-bg-opacity: .5}.backdrop\:bg-opacity-60::backdrop{--tw-bg-opacity: .6}.backdrop\:backdrop-blur-\[2px\]::backdrop{--tw-backdrop-blur: blur(2px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.hover\:border-blue-500:hover{--tw-border-opacity: 1;border-color:rgb(59 130 246 / var(--tw-border-opacity, 1))}.hover\:bg-blue-600:hover{--tw-bg-opacity: 1;background-color:rgb(37 99 235 / var(--tw-bg-opacity, 1))}.hover\:bg-slate-200:hover{--tw-bg-opacity: 1;background-color:rgb(226 232 240 / var(--tw-bg-opacity, 1))}.hover\:text-blue-600:hover{--tw-text-opacity: 1;color:rgb(37 99 235 / var(--tw-text-opacity, 1))}.hover\:text-sapphire-blue:hover{--tw-text-opacity: 1;color:rgb(28 76 206 / var(--tw-text-opacity, 1))}.hover\:text-slate-700:hover{--tw-text-opacity: 1;color:rgb(51 65 85 / var(--tw-text-opacity, 1))}.hover\:text-slate-800:hover{--tw-text-opacity: 1;color:rgb(30 41 59 / var(--tw-text-opacity, 1))}.hover\:text-white:hover{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.hover\:opacity-80:hover{opacity:.8}.hover\:shadow-lg:hover{--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.hover\:shadow-md:hover{--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.focus\:border-blue-500:focus{--tw-border-opacity: 1;border-color:rgb(59 130 246 / var(--tw-border-opacity, 1))}.focus\:border-transparent:focus{border-color:transparent}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:ring-2:focus{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus\:ring-blue-500:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(59 130 246 / var(--tw-ring-opacity, 1))}.focus\:ring-offset-2:focus{--tw-ring-offset-width: 2px}.focus-visible\:outline-none:focus-visible{outline:2px solid transparent;outline-offset:2px}.focus-visible\:outline:focus-visible{outline-style:solid}.focus-visible\:outline-2:focus-visible{outline-width:2px}.focus-visible\:outline-offset-2:focus-visible{outline-offset:2px}.focus-visible\:outline-blue-600:focus-visible{outline-color:#2563eb}.focus-visible\:outline-green-600:focus-visible{outline-color:#16a34a}.focus-visible\:outline-slate-500:focus-visible{outline-color:#64748b}.focus-visible\:ring-2:focus-visible{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus-visible\:ring-inset:focus-visible{--tw-ring-inset: inset}.focus-visible\:ring-blue-400:focus-visible{--tw-ring-opacity: 1;--tw-ring-color: rgb(96 165 250 / var(--tw-ring-opacity, 1))}.focus-visible\:ring-blue-500:focus-visible{--tw-ring-opacity: 1;--tw-ring-color: rgb(59 130 246 / var(--tw-ring-opacity, 1))}.focus-visible\:ring-gray-400:focus-visible{--tw-ring-opacity: 1;--tw-ring-color: rgb(156 163 175 / var(--tw-ring-opacity, 1))}.focus-visible\:ring-green-400:focus-visible{--tw-ring-opacity: 1;--tw-ring-color: rgb(74 222 128 / var(--tw-ring-opacity, 1))}.focus-visible\:ring-sapphire-blue:focus-visible{--tw-ring-opacity: 1;--tw-ring-color: rgb(28 76 206 / var(--tw-ring-opacity, 1))}.focus-visible\:ring-offset-1:focus-visible{--tw-ring-offset-width: 1px}.focus-visible\:ring-offset-2:focus-visible{--tw-ring-offset-width: 2px}.active\:bg-\[\#1fb855\]:active{--tw-bg-opacity: 1;background-color:rgb(31 184 85 / var(--tw-bg-opacity, 1))}.active\:bg-blue-600:active{--tw-bg-opacity: 1;background-color:rgb(37 99 235 / var(--tw-bg-opacity, 1))}.active\:bg-blue-700:active{--tw-bg-opacity: 1;background-color:rgb(29 78 216 / var(--tw-bg-opacity, 1))}.active\:bg-blue-800:active{--tw-bg-opacity: 1;background-color:rgb(30 64 175 / var(--tw-bg-opacity, 1))}.active\:bg-gray-100:active{--tw-bg-opacity: 1;background-color:rgb(243 244 246 / var(--tw-bg-opacity, 1))}.active\:bg-green-800:active{--tw-bg-opacity: 1;background-color:rgb(22 101 52 / var(--tw-bg-opacity, 1))}.active\:bg-slate-300:active{--tw-bg-opacity: 1;background-color:rgb(203 213 225 / var(--tw-bg-opacity, 1))}.active\:text-white:active{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.group:hover .group-hover\:translate-x-1{--tw-translate-x: .25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:scale-100{--tw-scale-x: 1;--tw-scale-y: 1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:bg-blue-100{--tw-bg-opacity: 1;background-color:rgb(219 234 254 / var(--tw-bg-opacity, 1))}.group:hover .group-hover\:text-blue-600{--tw-text-opacity: 1;color:rgb(37 99 235 / var(--tw-text-opacity, 1))}.group:hover .group-hover\:opacity-100{opacity:1}.group:focus .group-focus\:translate-x-1{--tw-translate-x: .25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:focus .group-focus\:scale-100{--tw-scale-x: 1;--tw-scale-y: 1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:focus .group-focus\:bg-blue-100{--tw-bg-opacity: 1;background-color:rgb(219 234 254 / var(--tw-bg-opacity, 1))}.group:focus .group-focus\:text-blue-600{--tw-text-opacity: 1;color:rgb(37 99 235 / var(--tw-text-opacity, 1))}.group:focus .group-focus\:opacity-100{opacity:1}@media(prefers-contrast:more){.contrast-more\:text-black{--tw-text-opacity: 1;color:rgb(0 0 0 / var(--tw-text-opacity, 1))}}.dark\:block:is(.dark *){display:block}.dark\:inline:is(.dark *){display:inline}.dark\:hidden:is(.dark *){display:none}.dark\:border-gray-700:is(.dark *){--tw-border-opacity: 1;border-color:rgb(55 65 81 / var(--tw-border-opacity, 1))}.dark\:border-slate-600:is(.dark *){--tw-border-opacity: 1;border-color:rgb(71 85 105 / var(--tw-border-opacity, 1))}.dark\:border-slate-700:is(.dark *){--tw-border-opacity: 1;border-color:rgb(51 65 85 / var(--tw-border-opacity, 1))}.dark\:border-white\/\[0\.12\]:is(.dark *){border-color:#ffffff1f}.dark\:border-b-slate-700:is(.dark *){--tw-border-opacity: 1;border-bottom-color:rgb(51 65 85 / var(--tw-border-opacity, 1))}.dark\:border-t-gray-700:is(.dark *){--tw-border-opacity: 1;border-top-color:rgb(55 65 81 / var(--tw-border-opacity, 1))}.dark\:border-t-slate-700:is(.dark *){--tw-border-opacity: 1;border-top-color:rgb(51 65 85 / var(--tw-border-opacity, 1))}.dark\:bg-blue-900\/30:is(.dark *){background-color:#1e3a8a4d}.dark\:bg-green-900\/30:is(.dark *){background-color:#14532d4d}.dark\:bg-slate-600:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(71 85 105 / var(--tw-bg-opacity, 1))}.dark\:bg-slate-700:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(51 65 85 / var(--tw-bg-opacity, 1))}.dark\:bg-slate-700\/50:is(.dark *){background-color:#33415580}.dark\:bg-slate-800:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(30 41 59 / var(--tw-bg-opacity, 1))}.dark\:bg-slate-900:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(15 23 42 / var(--tw-bg-opacity, 1))}.dark\:bg-white\/\[0\.08\]:is(.dark *){background-color:#ffffff14}.dark\:from-blue-400:is(.dark *){--tw-gradient-from: #60a5fa var(--tw-gradient-from-position);--tw-gradient-to: rgb(96 165 250 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.dark\:from-blue-950\/20:is(.dark *){--tw-gradient-from: rgb(23 37 84 / .2) var(--tw-gradient-from-position);--tw-gradient-to: rgb(23 37 84 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.dark\:to-blue-300:is(.dark *){--tw-gradient-to: #93c5fd var(--tw-gradient-to-position)}.dark\:to-transparent:is(.dark *){--tw-gradient-to: transparent var(--tw-gradient-to-position)}.dark\:text-blue-400:is(.dark *){--tw-text-opacity: 1;color:rgb(96 165 250 / var(--tw-text-opacity, 1))}.dark\:text-gray-100:is(.dark *){--tw-text-opacity: 1;color:rgb(243 244 246 / var(--tw-text-opacity, 1))}.dark\:text-gray-300:is(.dark *){--tw-text-opacity: 1;color:rgb(209 213 219 / var(--tw-text-opacity, 1))}.dark\:text-gray-400:is(.dark *){--tw-text-opacity: 1;color:rgb(156 163 175 / var(--tw-text-opacity, 1))}.dark\:text-green-400:is(.dark *){--tw-text-opacity: 1;color:rgb(74 222 128 / var(--tw-text-opacity, 1))}.dark\:text-slate-100:is(.dark *){--tw-text-opacity: 1;color:rgb(241 245 249 / var(--tw-text-opacity, 1))}.dark\:text-slate-200:is(.dark *){--tw-text-opacity: 1;color:rgb(226 232 240 / var(--tw-text-opacity, 1))}.dark\:text-slate-300:is(.dark *){--tw-text-opacity: 1;color:rgb(203 213 225 / var(--tw-text-opacity, 1))}.dark\:text-slate-400:is(.dark *){--tw-text-opacity: 1;color:rgb(148 163 184 / var(--tw-text-opacity, 1))}.dark\:text-slate-600:is(.dark *){--tw-text-opacity: 1;color:rgb(71 85 105 / var(--tw-text-opacity, 1))}.dark\:text-white:is(.dark *){--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.dark\:shadow-\[0_1px_2px_rgba\(0\,0\,0\,0\.2\)\,0_4px_16px_rgba\(0\,0\,0\,0\.15\)\,inset_0_0_0_1px_rgba\(255\,255\,255\,0\.06\)\]:is(.dark *){--tw-shadow: 0 1px 2px rgba(0,0,0,.2),0 4px 16px rgba(0,0,0,.15),inset 0 0 0 1px rgba(255,255,255,.06);--tw-shadow-colored: 0 1px 2px var(--tw-shadow-color), 0 4px 16px var(--tw-shadow-color), inset 0 0 0 1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.dark\:hover\:border-blue-400:hover:is(.dark *){--tw-border-opacity: 1;border-color:rgb(96 165 250 / var(--tw-border-opacity, 1))}.dark\:hover\:bg-slate-600:hover:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(71 85 105 / var(--tw-bg-opacity, 1))}.dark\:hover\:text-blue-400:hover:is(.dark *){--tw-text-opacity: 1;color:rgb(96 165 250 / var(--tw-text-opacity, 1))}.dark\:hover\:text-slate-200:hover:is(.dark *){--tw-text-opacity: 1;color:rgb(226 232 240 / var(--tw-text-opacity, 1))}.dark\:hover\:text-white:hover:is(.dark *){--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.dark\:focus\:border-blue-400:focus:is(.dark *){--tw-border-opacity: 1;border-color:rgb(96 165 250 / var(--tw-border-opacity, 1))}.dark\:focus\:ring-blue-400:focus:is(.dark *){--tw-ring-opacity: 1;--tw-ring-color: rgb(96 165 250 / var(--tw-ring-opacity, 1))}.dark\:focus\:ring-offset-slate-900:focus:is(.dark *){--tw-ring-offset-color: #0f172a}.dark\:focus-visible\:ring-gray-500:focus-visible:is(.dark *){--tw-ring-opacity: 1;--tw-ring-color: rgb(107 114 128 / var(--tw-ring-opacity, 1))}.dark\:active\:bg-slate-500:active:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(100 116 139 / var(--tw-bg-opacity, 1))}.dark\:active\:bg-slate-800:active:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(30 41 59 / var(--tw-bg-opacity, 1))}.group:hover .dark\:group-hover\:bg-blue-900\/50:is(.dark *){background-color:#1e3a8a80}.group:hover .dark\:group-hover\:text-blue-400:is(.dark *){--tw-text-opacity: 1;color:rgb(96 165 250 / var(--tw-text-opacity, 1))}.group:focus .dark\:group-focus\:bg-blue-900\/50:is(.dark *){background-color:#1e3a8a80}.group:focus .dark\:group-focus\:text-blue-400:is(.dark *){--tw-text-opacity: 1;color:rgb(96 165 250 / var(--tw-text-opacity, 1))}@media(min-width:320px){.xs\:inline{display:inline}.xs\:px-6{padding-left:1.5rem;padding-right:1.5rem}.xs\:py-14{padding-top:3.5rem;padding-bottom:3.5rem}}@media(min-width:640px){.sm\:-top-80{top:-20rem}.sm\:left-\[calc\(50\%\+36rem\)\]{left:calc(50% + 36rem)}.sm\:left-\[calc\(50\%-30rem\)\]{left:calc(50% - 30rem)}.sm\:top-\[calc\(100\%-30rem\)\]{top:calc(100% - 30rem)}.sm\:mb-20{margin-bottom:5rem}.sm\:mb-4{margin-bottom:1rem}.sm\:mb-6{margin-bottom:1.5rem}.sm\:mb-8{margin-bottom:2rem}.sm\:mt-2{margin-top:.5rem}.sm\:mt-3{margin-top:.75rem}.sm\:mt-4{margin-top:1rem}.sm\:mt-5{margin-top:1.25rem}.sm\:mt-9{margin-top:2.25rem}.sm\:inline{display:inline}.sm\:hidden{display:none}.sm\:h-14{height:3.5rem}.sm\:h-6{height:1.5rem}.sm\:h-7{height:1.75rem}.sm\:w-14{width:3.5rem}.sm\:w-6{width:1.5rem}.sm\:w-7{width:1.75rem}.sm\:w-\[72\.1875rem\]{width:72.1875rem}.sm\:w-full{width:100%}.sm\:min-w-\[150px\]{min-width:150px}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sm\:flex-col{flex-direction:column}.sm\:items-center{align-items:center}.sm\:gap-0{gap:0px}.sm\:gap-3{gap:.75rem}.sm\:gap-4{gap:1rem}.sm\:p-3{padding:.75rem}.sm\:p-8{padding:2rem}.sm\:px-5{padding-left:1.25rem;padding-right:1.25rem}.sm\:px-6{padding-left:1.5rem;padding-right:1.5rem}.sm\:py-14{padding-top:3.5rem;padding-bottom:3.5rem}.sm\:py-20{padding-top:5rem;padding-bottom:5rem}.sm\:py-3{padding-top:.75rem;padding-bottom:.75rem}.sm\:py-4{padding-top:1rem;padding-bottom:1rem}.sm\:pl-6{padding-left:1.5rem}.sm\:pt-5{padding-top:1.25rem}.sm\:text-center{text-align:center}.sm\:text-2xl{font-size:1.5rem;line-height:2rem}.sm\:text-4xl{font-size:2.25rem;line-height:2.5rem}.sm\:text-5xl{font-size:3rem;line-height:1}.sm\:text-sm{font-size:.875rem;line-height:1.25rem}.sm\:text-xl{font-size:1.25rem;line-height:1.75rem}}@media(min-width:768px){.md\:my-8{margin-top:2rem;margin-bottom:2rem}.md\:mb-auto{margin-bottom:auto}.md\:mt-0{margin-top:0}.md\:mt-3{margin-top:.75rem}.md\:mt-6{margin-top:1.5rem}.md\:mt-\[10px\]{margin-top:10px}.md\:block{display:block}.md\:table-row{display:table-row}.md\:w-1\/2{width:50%}.md\:flex-row{flex-direction:row}.md\:gap-0{gap:0px}.md\:space-y-5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.25rem * var(--tw-space-y-reverse))}.md\:rounded-2xl{border-radius:1rem}.md\:px-10{padding-left:2.5rem;padding-right:2.5rem}.md\:py-10{padding-top:2.5rem;padding-bottom:2.5rem}.md\:py-16{padding-top:4rem;padding-bottom:4rem}.md\:py-4{padding-top:1rem;padding-bottom:1rem}.md\:py-8{padding-top:2rem;padding-bottom:2rem}.md\:pb-20{padding-bottom:5rem}.md\:pl-6{padding-left:1.5rem}.md\:pl-8{padding-left:2rem}.md\:pr-4{padding-right:1rem}.md\:pt-8{padding-top:2rem}.md\:text-2xl{font-size:1.5rem;line-height:2rem}.md\:text-3xl{font-size:1.875rem;line-height:2.25rem}.md\:text-\[17px\]{font-size:17px}.md\:text-lg{font-size:1.125rem;line-height:1.75rem}.md\:leading-8{line-height:2rem}.md\:focus\:not-sr-only:focus{position:static;width:auto;height:auto;padding:0;margin:0;overflow:visible;clip:auto;white-space:normal}.md\:focus\:absolute:focus{position:absolute}.md\:focus\:-top-10:focus{top:-2.5rem}.md\:focus\:left-0:focus{left:0}.md\:focus\:left-\[180px\]:focus{left:180px}.md\:focus\:z-50:focus{z-index:50}.md\:focus\:rounded-md:focus{border-radius:.375rem}.md\:focus\:border:focus{border-width:1px}.md\:focus\:border-slate-300:focus{--tw-border-opacity: 1;border-color:rgb(203 213 225 / var(--tw-border-opacity, 1))}.md\:focus\:bg-white:focus{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.md\:focus\:px-3:focus{padding-left:.75rem;padding-right:.75rem}.md\:focus\:py-1\.5:focus{padding-top:.375rem;padding-bottom:.375rem}.md\:focus\:text-sm:focus{font-size:.875rem;line-height:1.25rem}.md\:focus\:text-slate-700:focus{--tw-text-opacity: 1;color:rgb(51 65 85 / var(--tw-text-opacity, 1))}.md\:focus\:shadow-sm:focus{--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.md\:focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.md\:focus\:ring-2:focus{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.md\:focus\:ring-slate-400:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(148 163 184 / var(--tw-ring-opacity, 1))}.md\:focus\:ring-offset-2:focus{--tw-ring-offset-width: 2px}.group:hover .md\:group-hover\:opacity-100{opacity:1}.dark\:md\:block:is(.dark *){display:block}.dark\:md\:focus\:border-slate-600:focus:is(.dark *){--tw-border-opacity: 1;border-color:rgb(71 85 105 / var(--tw-border-opacity, 1))}.dark\:md\:focus\:bg-slate-800:focus:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(30 41 59 / var(--tw-bg-opacity, 1))}.dark\:md\:focus\:text-slate-300:focus:is(.dark *){--tw-text-opacity: 1;color:rgb(203 213 225 / var(--tw-text-opacity, 1))}}@media(min-width:1024px){.lg\:col-span-2{grid-column:span 2 / span 2}.lg\:col-start-1{grid-column-start:1}.lg\:row-start-1{grid-row-start:1}.lg\:mx-0{margin-left:0;margin-right:0}.lg\:mx-auto{margin-left:auto;margin-right:auto}.lg\:mt-6{margin-top:1.5rem}.lg\:grid{display:grid}.lg\:w-full{width:100%}.lg\:max-w-5xl{max-width:64rem}.lg\:max-w-none{max-width:none}.lg\:flex-none{flex:none}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lg\:items-start{align-items:flex-start}.lg\:gap-x-4{column-gap:1rem}.lg\:gap-x-8{column-gap:2rem}.lg\:gap-y-10{row-gap:2.5rem}.lg\:overflow-visible{overflow:visible}.lg\:px-8{padding-left:2rem;padding-right:2rem}.lg\:py-20{padding-top:5rem;padding-bottom:5rem}.lg\:pl-14{padding-left:3.5rem}.lg\:pr-4{padding-right:1rem}.lg\:text-5xl{font-size:3rem;line-height:1}.lg\:text-xl{font-size:1.25rem;line-height:1.75rem}.lg\:leading-8{line-height:2rem}}@media(min-width:1280px){.xl\:px-0{padding-left:0;padding-right:0}}@media(min-width:1536px){.\32xl\:mt-10{margin-top:2.5rem}.\32xl\:pt-16{padding-top:4rem}}@media(hover:hover){.\[\@media\(hover\:hover\)\]\:hover\:bg-\[\#1fb855\]:hover{--tw-bg-opacity: 1;background-color:rgb(31 184 85 / var(--tw-bg-opacity, 1))}.\[\@media\(hover\:hover\)\]\:hover\:bg-blue-600:hover{--tw-bg-opacity: 1;background-color:rgb(37 99 235 / var(--tw-bg-opacity, 1))}.\[\@media\(hover\:hover\)\]\:hover\:bg-blue-700:hover{--tw-bg-opacity: 1;background-color:rgb(29 78 216 / var(--tw-bg-opacity, 1))}.\[\@media\(hover\:hover\)\]\:hover\:bg-gray-100:hover{--tw-bg-opacity: 1;background-color:rgb(243 244 246 / var(--tw-bg-opacity, 1))}.\[\@media\(hover\:hover\)\]\:hover\:bg-gray-200:hover{--tw-bg-opacity: 1;background-color:rgb(229 231 235 / var(--tw-bg-opacity, 1))}.\[\@media\(hover\:hover\)\]\:hover\:bg-green-700:hover{--tw-bg-opacity: 1;background-color:rgb(21 128 61 / var(--tw-bg-opacity, 1))}.\[\@media\(hover\:hover\)\]\:hover\:bg-slate-200:hover{--tw-bg-opacity: 1;background-color:rgb(226 232 240 / var(--tw-bg-opacity, 1))}.\[\@media\(hover\:hover\)\]\:hover\:text-gray-700:hover{--tw-text-opacity: 1;color:rgb(55 65 81 / var(--tw-text-opacity, 1))}.\[\@media\(hover\:hover\)\]\:hover\:text-white:hover{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.\[\@media\(hover\:hover\)\]\:hover\:shadow-md:hover{--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.\[\@media\(hover\:hover\)\]\:dark\:hover\:bg-slate-600:hover:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(71 85 105 / var(--tw-bg-opacity, 1))}.\[\@media\(hover\:hover\)\]\:dark\:hover\:bg-slate-800:hover:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(30 41 59 / var(--tw-bg-opacity, 1))}.\[\@media\(hover\:hover\)\]\:dark\:hover\:text-gray-200:hover:is(.dark *){--tw-text-opacity: 1;color:rgb(229 231 235 / var(--tw-text-opacity, 1))}}@media(min-width:360px){.\[\@media\(min-width\:360px\)\]\:w-10{width:2.5rem}.\[\@media\(min-width\:360px\)\]\:text-lg{font-size:1.125rem;line-height:1.75rem}}
</style><link rel="stylesheet" href="styles-CK5KP73D.css" media="print" onload="this.media='all'"><noscript><link rel="stylesheet" href="styles-CK5KP73D.css"></noscript><style ng-app-id="ng">.app-scroll-wrapper[_ngcontent-ng-c2881057923]{display:block;overflow-y:auto;overflow-x:hidden;height:100vh;height:100dvh;-webkit-overflow-scrolling:touch}</style><style ng-app-id="ng">.update-snackbar[_ngcontent-ng-c1300769648]{animation:_ngcontent-ng-c1300769648_slideDown .3s ease-out forwards;max-width:calc(100% - 2rem);width:420px;filter:drop-shadow(0 10px 8px rgba(0,0,0,.04)) drop-shadow(0 4px 3px rgba(0,0,0,.1))}@keyframes _ngcontent-ng-c1300769648_slideDown{0%{opacity:0;transform:translate(-50%,-100%)}to{opacity:1;transform:translate(-50%)}}.update-snackbar.hiding[_ngcontent-ng-c1300769648]{animation:_ngcontent-ng-c1300769648_slideUp .3s ease-in forwards}@keyframes _ngcontent-ng-c1300769648_slideUp{0%{opacity:1;transform:translate(-50%)}to{opacity:0;transform:translate(-50%,-100%)}}.update-btn[_ngcontent-ng-c1300769648]{border:none!important;box-shadow:0 1px 2px #0000000f,0 2px 6px #0000000a,inset 0 1px #ffffff26;transition:all .2s ease}.update-btn[_ngcontent-ng-c1300769648]:hover{box-shadow:0 1px 3px #00000014,0 3px 10px #0000000f,inset 0 1px #fff3}.update-btn[_ngcontent-ng-c1300769648]:active{box-shadow:0 1px 1px #00000014,0 2px 4px #0000000a,inset 0 1px #ffffff1a}</style><style ng-app-id="ng">html.is-web[_nghost-ng-c3911900635]   footer[_ngcontent-ng-c3911900635], html.is-web   [_nghost-ng-c3911900635]   footer[_ngcontent-ng-c3911900635]{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}html.is-web[_nghost-ng-c3911900635]   footer[_ngcontent-ng-c3911900635]:is(.dark *), html.is-web   [_nghost-ng-c3911900635]   footer[_ngcontent-ng-c3911900635]:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(15 23 42 / var(--tw-bg-opacity, 1))}.pill[_ngcontent-ng-c3911900635]{border-width:1px;border-color:#e5e7eb99;--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1));--tw-shadow: 0 1px 3px rgba(0,0,0,.05);--tw-shadow-colored: 0 1px 3px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.pill[_ngcontent-ng-c3911900635]:is(.dark *){border-color:#33415580;background-color:#1e293bcc}html.is-app[_nghost-ng-c3911900635]   .app-hidden[_ngcontent-ng-c3911900635], html.is-app   [_nghost-ng-c3911900635]   .app-hidden[_ngcontent-ng-c3911900635]{display:none}html.is-app[_nghost-ng-c3911900635]   footer[_ngcontent-ng-c3911900635], html.is-app   [_nghost-ng-c3911900635]   footer[_ngcontent-ng-c3911900635]{padding-top:0}</style><style ng-app-id="ng">[_nghost-ng-c1109935465]{display:inline-flex;align-items:center;line-height:0}.region-selector[_ngcontent-ng-c1109935465]{position:relative;display:inline-block;line-height:0}.region-trigger[_ngcontent-ng-c1109935465]{display:inline-flex;align-items:center;justify-content:center;background:transparent;border:none;padding:0;margin:0;cursor:pointer;font-size:1rem;line-height:0;border-radius:.25rem;color:#4b5563;transition:color .15s ease}.region-trigger[_ngcontent-ng-c1109935465]:hover{color:#1c4cce}.dark[_nghost-ng-c1109935465]   .region-trigger[_ngcontent-ng-c1109935465], .dark   [_nghost-ng-c1109935465]   .region-trigger[_ngcontent-ng-c1109935465]{color:#9ca3af}.dark[_nghost-ng-c1109935465]   .region-trigger[_ngcontent-ng-c1109935465]:hover, .dark   [_nghost-ng-c1109935465]   .region-trigger[_ngcontent-ng-c1109935465]:hover{color:#fff}.region-trigger[_ngcontent-ng-c1109935465]:focus-visible{outline:2px solid #1c4cce;outline-offset:2px}html.offline[_nghost-ng-c1109935465]   .region-trigger[_ngcontent-ng-c1109935465], html.offline   [_nghost-ng-c1109935465]   .region-trigger[_ngcontent-ng-c1109935465]{pointer-events:none;opacity:.4;cursor:not-allowed}.region-menu[_ngcontent-ng-c1109935465]{position:absolute;bottom:100%;right:0;transform:translate(0);margin-bottom:.5rem;min-width:10rem;background:#fff;border:1px solid #e5e7eb;border-radius:.5rem;box-shadow:0 -2px 4px -1px #0000000f,0 -1px 2px -1px #0000000a;padding:.5rem 0;opacity:0;visibility:hidden;transition:opacity .15s ease,visibility .15s ease;z-index:50}.dark[_nghost-ng-c1109935465]   .region-menu[_ngcontent-ng-c1109935465], .dark   [_nghost-ng-c1109935465]   .region-menu[_ngcontent-ng-c1109935465]{background:#1e293b;border-color:#334155;box-shadow:0 -2px 4px -1px #00000026}.region-menu--open[_ngcontent-ng-c1109935465]{opacity:1;visibility:visible}.region-item[_ngcontent-ng-c1109935465]{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;text-decoration:none;color:#374151;font-size:.875rem;white-space:nowrap;transition:background-color .1s ease}.dark[_nghost-ng-c1109935465]   .region-item[_ngcontent-ng-c1109935465], .dark   [_nghost-ng-c1109935465]   .region-item[_ngcontent-ng-c1109935465]{color:#e5e7eb}.region-item[_ngcontent-ng-c1109935465]:hover, .region-item[_ngcontent-ng-c1109935465]:focus{background-color:#f3f4f6;outline:none}.dark[_nghost-ng-c1109935465]   .region-item[_ngcontent-ng-c1109935465]:hover, .dark   [_nghost-ng-c1109935465]   .region-item[_ngcontent-ng-c1109935465]:hover, .dark[_nghost-ng-c1109935465]   .region-item[_ngcontent-ng-c1109935465]:focus, .dark   [_nghost-ng-c1109935465]   .region-item[_ngcontent-ng-c1109935465]:focus{background-color:#334155}.region-flag[_ngcontent-ng-c1109935465]{width:1.25rem;height:auto;border-radius:2px;outline:.5px solid #cccdce}.dark[_nghost-ng-c1109935465]   .region-flag[_ngcontent-ng-c1109935465], .dark   [_nghost-ng-c1109935465]   .region-flag[_ngcontent-ng-c1109935465]{outline:none}.region-name[_ngcontent-ng-c1109935465]{font-weight:500}.region-menu[_ngcontent-ng-c1109935465]:after{content:"";position:absolute;bottom:-6px;right:10px;transform:translate(0);border-left:6px solid transparent;border-right:6px solid transparent;border-top:6px solid white}.dark[_nghost-ng-c1109935465]   .region-menu[_ngcontent-ng-c1109935465]:after, .dark   [_nghost-ng-c1109935465]   .region-menu[_ngcontent-ng-c1109935465]:after{border-top-color:#1e293b}.region-menu[_ngcontent-ng-c1109935465]:before{content:"";position:absolute;bottom:-7px;right:9px;transform:translate(0);border-left:7px solid transparent;border-right:7px solid transparent;border-top:7px solid #e5e7eb}.dark[_nghost-ng-c1109935465]   .region-menu[_ngcontent-ng-c1109935465]:before, .dark   [_nghost-ng-c1109935465]   .region-menu[_ngcontent-ng-c1109935465]:before{border-top-color:#334155}</style><style ng-app-id="ng">.flag-outline[_ngcontent-ng-c464755666]{outline:.5px solid #cccdce}.dark[_nghost-ng-c464755666]   .flag-outline[_ngcontent-ng-c464755666], .dark   [_nghost-ng-c464755666]   .flag-outline[_ngcontent-ng-c464755666]{outline:none}</style><style ng-app-id="ng">[_nghost-ng-c3898035239]{display:contents}.is-safari-desktop[_nghost-ng-c3898035239]   .gradient-container[_ngcontent-ng-c3898035239], .is-safari-desktop   [_nghost-ng-c3898035239]   .gradient-container[_ngcontent-ng-c3898035239]{display:none!important}</style><style ng-app-id="ng">html:not(.is-hydrated)[_nghost-ng-c4032995172]   .calculator-form-input[_ngcontent-ng-c4032995172], html:not(.is-hydrated)   [_nghost-ng-c4032995172]   .calculator-form-input[_ngcontent-ng-c4032995172]{pointer-events:none;cursor:default}[_ngcontent-ng-c4032995172]:global(.overflow-hidden){overflow:hidden!important}dialog[open][_ngcontent-ng-c4032995172]{animation:_ngcontent-ng-c4032995172_subtleFadeInDialog .25s ease-out forwards}dialog[open][_ngcontent-ng-c4032995172]::backdrop{animation:_ngcontent-ng-c4032995172_fadeIn .3s ease-out forwards}dialog[_ngcontent-ng-c4032995172]:not([open]){opacity:0;transform:scale(.95)}@keyframes _ngcontent-ng-c4032995172_subtleFadeInDialog{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes _ngcontent-ng-c4032995172_slideInFromTop{0%{opacity:0;transform:translateY(-100vh)}to{opacity:1;transform:translateY(0)}}@keyframes _ngcontent-ng-c4032995172_badgeFadeUp{0%{opacity:0;transform:translateY(6px) scale(.8)}to{opacity:1;transform:translateY(0) scale(1)}}.badge-fade-up[_ngcontent-ng-c4032995172]{animation:_ngcontent-ng-c4032995172_badgeFadeUp .3s ease-out forwards}@keyframes _ngcontent-ng-c4032995172_subtleFadeIn{0%{opacity:0;transform:scale(.95) translateY(-10px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes _ngcontent-ng-c4032995172_subtleFadeInCentered{0%{opacity:0;transform:translateY(calc(-50% - 20px)) scale(.95)}to{opacity:1;transform:translateY(-50%) scale(1)}}@keyframes _ngcontent-ng-c4032995172_fadeIn{0%{opacity:0}to{opacity:1}}@keyframes _ngcontent-ng-c4032995172_slideInFromBottom{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}[_nghost-ng-c4032995172]     dialog[class*="z-[9000]"][open]{animation:_ngcontent-ng-c4032995172_slideInFromBottom .3s ease-out forwards}@media(min-width:768px){[_nghost-ng-c4032995172]     dialog[class*="z-[9000]"][open]{animation:subtleFadeIn .25s ease-out forwards}}[_nghost-ng-c4032995172]     dialog[class*="z-[9000]"]:not([open]){opacity:0;transform:translateY(100%)}@media(min-width:768px){[_nghost-ng-c4032995172]     dialog[class*="z-[9000]"]:not([open]){transform:scale(.95) translateY(-10px)}}.calculator-form[_ngcontent-ng-c4032995172]{width:100%;min-width:240px;position:relative}@media(max-width:767px){.calculator-form[_ngcontent-ng-c4032995172]{margin-top:0}}.calculator-form__header[_ngcontent-ng-c4032995172]   th[_ngcontent-ng-c4032995172]{padding-bottom:.25rem;text-align:center;font-size:1.125rem;line-height:1.75rem;font-weight:500;--tw-text-opacity: 1;color:rgb(0 0 0 / var(--tw-text-opacity, 1))}.calculator-form__header[_ngcontent-ng-c4032995172]   th[_ngcontent-ng-c4032995172]:is(.dark *){--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}@media(min-width:768px){.calculator-form__header[_ngcontent-ng-c4032995172]   th[_ngcontent-ng-c4032995172]{font-size:1.25rem;line-height:1.75rem}}@media(prefers-contrast:more){.calculator-form__header[_ngcontent-ng-c4032995172]   th[_ngcontent-ng-c4032995172]{--tw-text-opacity: 1;color:rgb(0 0 0 / var(--tw-text-opacity, 1))}.calculator-form__header[_ngcontent-ng-c4032995172]   th[_ngcontent-ng-c4032995172]:is(.dark *){--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}}.calculator-form[_ngcontent-ng-c4032995172]   .error-message[_ngcontent-ng-c4032995172]{display:none;position:absolute;left:0;right:0;top:calc(100% - 1px);margin:0 1px;text-align:center;font-size:13px;line-height:1.3;z-index:5;padding:5px 8px;background:#ef4444f7;border:.5px solid rgba(239,68,68,.3);color:#fff;font-weight:500;border-radius:8px;box-shadow:0 1px 2px #00000014,0 2px 6px #ef444426,inset 0 1px #ffffff26;white-space:normal;word-wrap:break-word;overflow-wrap:break-word;box-sizing:border-box}.calculator-form[_ngcontent-ng-c4032995172]   .help-message[_ngcontent-ng-c4032995172]{display:none;position:absolute;pointer-events:none;left:0;right:0;top:calc(100% - 1px);margin:0 1px;text-align:center;font-size:13px;line-height:1.3;z-index:5;padding:5px 8px;background:#3b82f6f7;border:.5px solid rgba(59,130,246,.3);color:#fff;font-weight:500;border-radius:8px;box-shadow:0 1px 2px #00000014,0 2px 6px #3b82f626,inset 0 1px #ffffff26;white-space:normal;word-wrap:break-word;overflow-wrap:break-word;box-sizing:border-box}.calculator-form__item[_ngcontent-ng-c4032995172]{padding:5px 0;position:relative;background-color:transparent}.calculator-form__item[_ngcontent-ng-c4032995172] + .calculator-form__item[_ngcontent-ng-c4032995172]{padding-left:10px}.calculator-form__item[_ngcontent-ng-c4032995172] + .calculator-form__item[_ngcontent-ng-c4032995172]   .error-message[_ngcontent-ng-c4032995172], .calculator-form__item[_ngcontent-ng-c4032995172] + .calculator-form__item[_ngcontent-ng-c4032995172]   .help-message[_ngcontent-ng-c4032995172]{left:10px}.calculator-form__item[_ngcontent-ng-c4032995172] + .calculator-form__item[_ngcontent-ng-c4032995172]:before{left:10px}.calculator-form__item[_ngcontent-ng-c4032995172]:hover, .calculator-form__item[_ngcontent-ng-c4032995172]:focus-within{z-index:5}.calculator-form__item--with-visual-placeholder[_ngcontent-ng-c4032995172]:before{position:absolute;left:0;right:0;top:50%;transform:translateY(-50%);text-align:center;color:#64748b;font-size:18px;pointer-events:none;z-index:4;content:attr(data-placeholder-mobile)}@media(min-width:768px){.calculator-form__item--with-visual-placeholder[_ngcontent-ng-c4032995172]:before{content:attr(data-placeholder)}}.dark[_nghost-ng-c4032995172]   .calculator-form__item--with-visual-placeholder[_ngcontent-ng-c4032995172]:before, .dark   [_nghost-ng-c4032995172]   .calculator-form__item--with-visual-placeholder[_ngcontent-ng-c4032995172]:before{color:#64748b}@media(prefers-contrast:more){.calculator-form__item--with-visual-placeholder[_ngcontent-ng-c4032995172]:before{color:#000}}.is-hydrated[_nghost-ng-c4032995172]   .calculator-form__item--with-visual-placeholder[_ngcontent-ng-c4032995172]:before, .is-hydrated   [_nghost-ng-c4032995172]   .calculator-form__item--with-visual-placeholder[_ngcontent-ng-c4032995172]:before{content:attr(data-placeholder)}.calculator-form__item--with-visual-placeholder[_ngcontent-ng-c4032995172]:focus-within:before, .calculator-form__item--with-visual-placeholder[_ngcontent-ng-c4032995172]:has(input:not(:placeholder-shown)):before{display:none}.calculator-form__item-error[_ngcontent-ng-c4032995172]{z-index:2}.calculator-form__item-error[_ngcontent-ng-c4032995172]   input[_ngcontent-ng-c4032995172]{border-color:#ef4444!important;background:#fff;box-shadow:0 1px 2px #ef444414,0 2px 6px #ef444414}.dark[_nghost-ng-c4032995172]   .calculator-form__item-error[_ngcontent-ng-c4032995172]   input[_ngcontent-ng-c4032995172], .dark   [_nghost-ng-c4032995172]   .calculator-form__item-error[_ngcontent-ng-c4032995172]   input[_ngcontent-ng-c4032995172]{background:#ffffff1a;border-color:#ef4444!important;box-shadow:0 1px 1px #0003,0 2px 6px #0000001a,inset 0 0 0 1px #ffffff14}.calculator-form__item-error[_ngcontent-ng-c4032995172]   input[_ngcontent-ng-c4032995172]:focus, .calculator-form__item-error[_ngcontent-ng-c4032995172]   input[_ngcontent-ng-c4032995172]:focus-visible{box-shadow:0 1px 2px #ef444414,0 2px 6px #ef444414,0 0 0 3px #ef44441a}.dark[_nghost-ng-c4032995172]   .calculator-form__item-error[_ngcontent-ng-c4032995172]   input[_ngcontent-ng-c4032995172]:focus, .dark   [_nghost-ng-c4032995172]   .calculator-form__item-error[_ngcontent-ng-c4032995172]   input[_ngcontent-ng-c4032995172]:focus, .dark[_nghost-ng-c4032995172]   .calculator-form__item-error[_ngcontent-ng-c4032995172]   input[_ngcontent-ng-c4032995172]:focus-visible, .dark   [_nghost-ng-c4032995172]   .calculator-form__item-error[_ngcontent-ng-c4032995172]   input[_ngcontent-ng-c4032995172]:focus-visible{box-shadow:0 1px 2px #00000040,0 3px 10px #ef44442e,0 0 0 3px #ef444426,inset 0 1px #ffffff1a}.calculator-form__item-error[_ngcontent-ng-c4032995172]:focus-within{z-index:10}.calculator-form__item-error[_ngcontent-ng-c4032995172]:focus-within   .error-message[_ngcontent-ng-c4032995172]{display:block}.calculator-form__item-unfilled[_ngcontent-ng-c4032995172]{z-index:2}.calculator-form__item-unfilled[_ngcontent-ng-c4032995172]   input[_ngcontent-ng-c4032995172]{border-color:#3b82f6!important;background:#fff;box-shadow:0 1px 2px #3b82f614,0 2px 8px #3b82f614}.dark[_nghost-ng-c4032995172]   .calculator-form__item-unfilled[_ngcontent-ng-c4032995172]   input[_ngcontent-ng-c4032995172], .dark   [_nghost-ng-c4032995172]   .calculator-form__item-unfilled[_ngcontent-ng-c4032995172]   input[_ngcontent-ng-c4032995172]{background:#ffffff1a;border-color:#3b82f6!important;box-shadow:0 1px 2px #00000040,0 3px 10px #3b82f62e,inset 0 1px #ffffff1a}.calculator-form__item-unfilled[_ngcontent-ng-c4032995172]   input[_ngcontent-ng-c4032995172]:focus, .calculator-form__item-unfilled[_ngcontent-ng-c4032995172]   input[_ngcontent-ng-c4032995172]:focus-visible{box-shadow:0 1px 2px #3b82f614,0 2px 8px #3b82f614,0 0 0 3px #3b82f61f}.dark[_nghost-ng-c4032995172]   .calculator-form__item-unfilled[_ngcontent-ng-c4032995172]   input[_ngcontent-ng-c4032995172]:focus, .dark   [_nghost-ng-c4032995172]   .calculator-form__item-unfilled[_ngcontent-ng-c4032995172]   input[_ngcontent-ng-c4032995172]:focus, .dark[_nghost-ng-c4032995172]   .calculator-form__item-unfilled[_ngcontent-ng-c4032995172]   input[_ngcontent-ng-c4032995172]:focus-visible, .dark   [_nghost-ng-c4032995172]   .calculator-form__item-unfilled[_ngcontent-ng-c4032995172]   input[_ngcontent-ng-c4032995172]:focus-visible{box-shadow:0 1px 2px #3b82f633,0 3px 12px #3b82f626,0 0 0 4px #3b82f633,inset 0 1px #ffffff1f}.calculator-form__item-unfilled[_ngcontent-ng-c4032995172]:focus-within{z-index:10}.calculator-form__item-unfilled[_ngcontent-ng-c4032995172]:focus-within   .help-message[_ngcontent-ng-c4032995172]{display:block}@media(hover:hover){.calculator-form[_ngcontent-ng-c4032995172]:not(:has(.calculator-form__item:focus-within))   .calculator-form__item-error[_ngcontent-ng-c4032995172]:hover{z-index:10}.calculator-form[_ngcontent-ng-c4032995172]:not(:has(.calculator-form__item:focus-within))   .calculator-form__item-error[_ngcontent-ng-c4032995172]:hover   .error-message[_ngcontent-ng-c4032995172]{display:block}.calculator-form[_ngcontent-ng-c4032995172]:not(:has(.calculator-form__item:focus-within))   .calculator-form__item-unfilled[_ngcontent-ng-c4032995172]:hover{z-index:10}.calculator-form[_ngcontent-ng-c4032995172]:not(:has(.calculator-form__item:focus-within))   .calculator-form__item-unfilled[_ngcontent-ng-c4032995172]:hover   .help-message[_ngcontent-ng-c4032995172]{display:block}}.calculator-form-input[_ngcontent-ng-c4032995172]{--tw-text-opacity: 1;color:rgb(15 23 42 / var(--tw-text-opacity, 1))}.calculator-form-input[_ngcontent-ng-c4032995172]:is(.dark *){--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.calculator-form-input[_ngcontent-ng-c4032995172]{text-align:center;padding:10px 0;font-size:18px;font-weight:600;width:100%;border:.5px solid rgba(0,0,0,.06);border-radius:12px;outline:none;margin:1px;position:relative;z-index:2;scroll-margin:0;scroll-padding:0;background:#fff;border:1px solid rgba(0,0,0,.06);box-shadow:0 1px 2px #00000017,0 1px 3px #0000000d;transition:border-color .3s cubic-bezier(.4,0,.2,1),box-shadow .3s cubic-bezier(.4,0,.2,1);caret-color:#2563eb}.calculator-form-input[_ngcontent-ng-c4032995172]:focus{transition:none}.calculator-form-input[_ngcontent-ng-c4032995172]::selection{background:#3b82f640;color:#1e293b}.dark[_nghost-ng-c4032995172]   .calculator-form-input[_ngcontent-ng-c4032995172]::selection, .dark   [_nghost-ng-c4032995172]   .calculator-form-input[_ngcontent-ng-c4032995172]::selection{background:#3b82f666;color:#fff}@media(min-width:768px){.calculator-form-input[_ngcontent-ng-c4032995172]{border-radius:14px}}.dark[_nghost-ng-c4032995172]   .calculator-form-input[_ngcontent-ng-c4032995172], .dark   [_nghost-ng-c4032995172]   .calculator-form-input[_ngcontent-ng-c4032995172]{background:#ffffff1a;border:1.5px solid transparent;box-shadow:0 1px 1px #0003,0 2px 6px #0000001a,inset 0 0 0 1px #ffffff14}@media(prefers-contrast:more){.calculator-form-input[_ngcontent-ng-c4032995172]{border-color:#000!important;caret-color:#000;background:#fff;box-shadow:0 0 0 2px #000;-webkit-backdrop-filter:none;backdrop-filter:none}}.calculator-form-input[_ngcontent-ng-c4032995172]::placeholder{color:transparent;opacity:0}@media(prefers-contrast:more){.dark[_nghost-ng-c4032995172]   .calculator-form-input[_ngcontent-ng-c4032995172], .dark   [_nghost-ng-c4032995172]   .calculator-form-input[_ngcontent-ng-c4032995172]{--tw-border-opacity: 1;border-color:rgb(255 255 255 / var(--tw-border-opacity, 1));--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1));caret-color:#fff;background:#000000f2}.dark[_nghost-ng-c4032995172]   .calculator-form-input[_ngcontent-ng-c4032995172]::placeholder, .dark   [_nghost-ng-c4032995172]   .calculator-form-input[_ngcontent-ng-c4032995172]::placeholder{color:transparent;opacity:0}}.calculator-form-input[_ngcontent-ng-c4032995172]:hover{background:#fff;border-color:#00000014;box-shadow:0 1px 3px #0000000f,0 2px 6px #0000000a}.dark[_nghost-ng-c4032995172]   .calculator-form-input[_ngcontent-ng-c4032995172]:hover, .dark   [_nghost-ng-c4032995172]   .calculator-form-input[_ngcontent-ng-c4032995172]:hover{background:#ffffff21;border-color:#fff3;box-shadow:0 1px 1px #00000040,0 2px 8px #0000001f,inset 0 0 0 1px #ffffff1f}.calculator-form-input[_ngcontent-ng-c4032995172]:focus::placeholder{color:transparent}.calculator-form-input[_ngcontent-ng-c4032995172]:focus, .calculator-form-input[_ngcontent-ng-c4032995172]:focus-visible{border-color:#3b82f6;background:#fff;box-shadow:0 1px 2px #3b82f614,0 2px 8px #3b82f614,0 0 0 3px #3b82f61f;caret-color:#3b82f6}.dark[_nghost-ng-c4032995172]   .calculator-form-input[_ngcontent-ng-c4032995172]:focus, .dark   [_nghost-ng-c4032995172]   .calculator-form-input[_ngcontent-ng-c4032995172]:focus, .dark[_nghost-ng-c4032995172]   .calculator-form-input[_ngcontent-ng-c4032995172]:focus-visible, .dark   [_nghost-ng-c4032995172]   .calculator-form-input[_ngcontent-ng-c4032995172]:focus-visible{background:#ffffff29;border-color:#3b82f6;box-shadow:0 1px 2px #3b82f633,0 3px 12px #3b82f626,0 0 0 4px #3b82f633,inset 0 1px #ffffff1f;caret-color:#3b82f6}.calculator-form-input--show-placeholder[_ngcontent-ng-c4032995172]::placeholder{color:#64748b;opacity:1}.dark[_nghost-ng-c4032995172]   .calculator-form-input--show-placeholder[_ngcontent-ng-c4032995172]::placeholder, .dark   [_nghost-ng-c4032995172]   .calculator-form-input--show-placeholder[_ngcontent-ng-c4032995172]::placeholder{color:#64748b}.calculator-form-input--examen-final[_ngcontent-ng-c4032995172]::placeholder{color:transparent;opacity:0}.calculator-form-input--needs-value[_ngcontent-ng-c4032995172]{border-color:#3b82f6!important;box-shadow:0 1px 2px #3b82f614,0 2px 8px #3b82f614}.dark[_nghost-ng-c4032995172]   .calculator-form-input--needs-value[_ngcontent-ng-c4032995172], .dark   [_nghost-ng-c4032995172]   .calculator-form-input--needs-value[_ngcontent-ng-c4032995172]{border-color:#3b82f6!important;box-shadow:0 1px 2px #00000040,0 3px 10px #3b82f62e,inset 0 1px #ffffff1a}.examen-input-wrapper[_ngcontent-ng-c4032995172]{position:relative}.examen-input-wrapper[_ngcontent-ng-c4032995172]:before{content:attr(data-placeholder);position:absolute;left:0;right:0;top:50%;transform:translateY(-50%);text-align:center;color:#64748b;font-size:18px;pointer-events:none;z-index:1}.dark[_nghost-ng-c4032995172]   .examen-input-wrapper[_ngcontent-ng-c4032995172]:before, .dark   [_nghost-ng-c4032995172]   .examen-input-wrapper[_ngcontent-ng-c4032995172]:before{color:#64748b}.examen-input-wrapper[_ngcontent-ng-c4032995172]:focus-within:before{display:none}.number-card__value[_ngcontent-ng-c4032995172]{width:100%;display:block;font-size:50px;line-height:1em}table[_ngcontent-ng-c4032995172]{width:100%;border-collapse:collapse}dialog[_ngcontent-ng-c4032995172]::backdrop{z-index:200!important;background:#0006;backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px)}.toast-container[_ngcontent-ng-c4032995172]{animation:_ngcontent-ng-c4032995172_slideIn .3s ease-out forwards;max-width:90%;width:400px;filter:drop-shadow(0 10px 8px rgba(0,0,0,.04)) drop-shadow(0 4px 3px rgba(0,0,0,.1))}@keyframes _ngcontent-ng-c4032995172_slideIn{0%{opacity:0;transform:translate(-50%,20px)}to{opacity:1;transform:translate(-50%)}}.toast-message[_ngcontent-ng-c4032995172]{box-shadow:0 8px 16px #00000026,0 4px 6px #0000001a;width:100%;border-radius:.5rem}[_nghost-ng-c4032995172]     button.bg-blue-600:not(.button-group *), [_nghost-ng-c4032995172]     button.bg-sapphire-blue:not(.button-group *), [_nghost-ng-c4032995172]     button.bg-green-600:not(.button-group *), [_nghost-ng-c4032995172]     dialog button.bg-slate-100{border-radius:14px!important;border:none!important;box-shadow:0 1px 2px #0000000f,0 2px 6px #0000000a,inset 0 1px #ffffff26;transition:all .2s ease}[_nghost-ng-c4032995172]     button.bg-blue-600:not(.button-group *):hover, [_nghost-ng-c4032995172]     button.bg-sapphire-blue:not(.button-group *):hover, [_nghost-ng-c4032995172]     button.bg-green-600:not(.button-group *):hover, [_nghost-ng-c4032995172]     dialog button.bg-slate-100:hover{box-shadow:0 1px 3px #00000014,0 3px 10px #0000000f,inset 0 1px #fff3}[_nghost-ng-c4032995172]     button.bg-blue-600:not(.button-group *):active, [_nghost-ng-c4032995172]     button.bg-sapphire-blue:not(.button-group *):active, [_nghost-ng-c4032995172]     button.bg-green-600:not(.button-group *):active, [_nghost-ng-c4032995172]     dialog button.bg-slate-100:active{box-shadow:0 1px 1px #00000014,0 2px 4px #0000000a,inset 0 1px #ffffff1a}.button-group[_ngcontent-ng-c4032995172]   button[_ngcontent-ng-c4032995172]{position:relative}[_nghost-ng-c4032995172]     .button-group button[data-tooltip]{overflow:visible!important}[_nghost-ng-c4032995172]     .button-group button[data-tooltip]:after{content:attr(data-tooltip);position:absolute;top:calc(100% + 12px);left:50%;transform:translate(-50%);padding:8px 14px;font-size:13px;font-weight:500;line-height:1.4;text-align:center;width:max-content;max-width:220px;color:#fff!important;background:#18181b!important;border-radius:8px;box-shadow:0 4px 16px #0000004d;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .15s ease,visibility .15s ease;z-index:10}[_nghost-ng-c4032995172]     .button-group button[data-tooltip]:before{content:"";position:absolute;top:calc(100% + 4px);left:50%;transform:translate(-50%);border-left:8px solid transparent;border-right:8px solid transparent;border-bottom:8px solid #18181b;border-top:none;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .15s ease,visibility .15s ease;z-index:11}@media(hover:hover){[_nghost-ng-c4032995172]     .button-group button[data-tooltip]:hover:after, [_nghost-ng-c4032995172]     .button-group button[data-tooltip]:hover:before{opacity:1!important;visibility:visible!important}}[_nghost-ng-c4032995172]     .button-group button[data-tooltip]:focus-visible:after, [_nghost-ng-c4032995172]     .button-group button[data-tooltip]:focus-visible:before{opacity:1!important;visibility:visible!important}.disabled-save-tooltip[_ngcontent-ng-c4032995172]{opacity:0}.disabled-save-tooltip.is-visible[_ngcontent-ng-c4032995172]{opacity:1}@media(hover:hover){.button-group[_ngcontent-ng-c4032995172]   button[aria-disabled=true][_ngcontent-ng-c4032995172]:hover   .disabled-save-tooltip[_ngcontent-ng-c4032995172]{opacity:1}}.button-group[_ngcontent-ng-c4032995172]   button[aria-disabled=true][_ngcontent-ng-c4032995172]:focus-visible   .disabled-save-tooltip[_ngcontent-ng-c4032995172]{opacity:1}[_nghost-ng-c4032995172]     .button-group button:first-child[data-tooltip]:after{left:0;transform:none}[_nghost-ng-c4032995172]     .button-group button:first-child[data-tooltip]:before{left:24px;transform:none}.button-group-vertical[_ngcontent-ng-c4032995172]   button[_ngcontent-ng-c4032995172]{border-radius:0!important}.button-group-vertical[_ngcontent-ng-c4032995172]   button[_ngcontent-ng-c4032995172]:first-child{border-radius:14px 14px 0 0!important}.button-group-vertical[_ngcontent-ng-c4032995172]   button[_ngcontent-ng-c4032995172]:last-child{border-radius:0 0 14px 14px!important}.button-group-vertical[_ngcontent-ng-c4032995172]   button[_ngcontent-ng-c4032995172]:only-child{border-radius:14px!important}.dark   [_nghost-ng-c4032995172]     button.bg-blue-600, .dark   [_nghost-ng-c4032995172]     button.bg-sapphire-blue, .dark   [_nghost-ng-c4032995172]     button.bg-green-600{box-shadow:none}.dark   [_nghost-ng-c4032995172]     button.bg-blue-600:hover, .dark   [_nghost-ng-c4032995172]     button.bg-sapphire-blue:hover, .dark   [_nghost-ng-c4032995172]     button.bg-green-600:hover{box-shadow:none}  .keyboard-wrapper{position:fixed;bottom:0;left:0;right:0;z-index:100;padding-bottom:env(safe-area-inset-bottom);display:none;transform:translateY(100%);opacity:0;visibility:hidden}[_ngcontent-ng-c4032995172]:root.virtual-keyboard-enabled     .keyboard-wrapper--visible{display:block!important;transform:translateY(0)!important;opacity:1!important;visibility:visible!important}  .keyboard-result-bar{display:flex;align-items:center;justify-content:flex-start;gap:.375rem;padding-left:.875rem;padding-right:.875rem;height:30px;padding-top:5px;--tw-bg-opacity: 1;background-color:rgb(209 213 219 / var(--tw-bg-opacity, 1))}  .keyboard-result-bar:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(29 31 37 / var(--tw-bg-opacity, 1))}  .keyboard-result-bar{border-top-width:1px;border-color:#0000001a}  .keyboard-result-bar:is(.dark *){border-color:#ffffff1a}  .keyboard-result-bar{border-top-left-radius:.75rem;border-top-right-radius:.75rem;--tw-shadow: 0 -6px 20px rgba(0,0,0,.15);--tw-shadow-colored: 0 -6px 20px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}  .keyboard-result-bar:is(.dark *){--tw-shadow: 0 -6px 20px rgba(0,0,0,.5);--tw-shadow-colored: 0 -6px 20px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}  .keyboard-result-bar__label{white-space:nowrap;font-size:15px;font-weight:500;--tw-text-opacity: 1;color:rgb(0 0 0 / var(--tw-text-opacity, 1))}  .keyboard-result-bar__label:is(.dark *){--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}  .keyboard-result-bar__value{font-size:15px;font-weight:700;--tw-numeric-spacing: tabular-nums;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction);letter-spacing:-.025em;--tw-text-opacity: 1;color:rgb(0 0 0 / var(--tw-text-opacity, 1))}  .keyboard-result-bar__value:is(.dark *){--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}  .keyboard-wrapper .simple-keyboard{position:relative;width:100%;max-height:40vh;max-height:40dvh;box-shadow:none!important;backface-visibility:hidden}  .keyboard-wrapper .simple-keyboard .hg-button{pointer-events:auto!important;touch-action:manipulation!important;-webkit-tap-highlight-color:rgba(0,0,0,.1);user-select:none;-webkit-user-select:none;cursor:pointer;position:relative;z-index:1;outline:none}  .keyboard-wrapper .simple-keyboard .hg-button:focus{outline:none}[_nghost-ng-c4032995172]     .simple-keyboard.keyboard-updating{pointer-events:none}[_nghost-ng-c4032995172]     .simple-keyboard.hg-theme-default{background:#d1d5db!important;padding:8px!important;padding-bottom:calc(8px + env(safe-area-inset-bottom))!important}[_nghost-ng-c4032995172]     .simple-keyboard.hg-theme-default .hg-row{margin-bottom:8px}[_nghost-ng-c4032995172]     .simple-keyboard.hg-theme-default .hg-row:last-child{margin-bottom:0}[_nghost-ng-c4032995172]     .simple-keyboard.hg-theme-default .hg-button{background:#fff!important;color:#1f2937!important;border:none!important;border-radius:8px!important;font-size:22px!important;font-weight:400!important;height:46px!important;min-width:32px!important;box-shadow:0 1px #0003!important}[_nghost-ng-c4032995172]     .simple-keyboard.hg-theme-default .hg-button:active{background:#e5e7eb!important;box-shadow:none!important}[_nghost-ng-c4032995172]     .simple-keyboard.hg-theme-default .hg-button.hg-functionBtn{background:#9ca3af!important;color:#1f2937!important;font-size:18px!important}[_nghost-ng-c4032995172]     .simple-keyboard.hg-theme-default .hg-button[data-skbtn="{prev}"][_ngcontent-ng-c4032995172]{background-color:#2563eb!important;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='2.5' stroke='white'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M15.75 19.5L8.25 12l7.5-7.5' /%3E%3C/svg%3E")!important;background-repeat:no-repeat!important;background-position:center!important;background-size:24px 24px!important;color:transparent!important;font-size:0!important}[_nghost-ng-c4032995172]     .simple-keyboard.hg-theme-default .hg-button[data-skbtn="{next}"][_ngcontent-ng-c4032995172]{background-color:#2563eb!important;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='2.5' stroke='white'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M8.25 4.5l7.5 7.5-7.5 7.5' /%3E%3C/svg%3E")!important;background-repeat:no-repeat!important;background-position:center!important;background-size:24px 24px!important;color:transparent!important;font-size:0!important}[_nghost-ng-c4032995172]     .simple-keyboard.hg-theme-default .hg-button[data-skbtn="{bksp}"][_ngcontent-ng-c4032995172]{background:#dc2626!important;color:#fff!important}[_nghost-ng-c4032995172]     .simple-keyboard.hg-theme-default .hg-button.hg-functionBtn.hg-button-bksp{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='2' stroke='black'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M12 9.75L14.25 12m0 0l2.25 2.25M14.25 12l2.25-2.25M14.25 12L12 14.25m-2.58 4.92l-6.375-6.375a1.125 1.125 0 010-1.59L9.42 4.83c.211-.211.498-.33.796-.33H19.5a2.25 2.25 0 012.25 2.25v10.5a2.25 2.25 0 01-2.25 2.25h-9.284c-.298 0-.585-.119-.796-.33z' /%3E%3C/svg%3E")!important;background-repeat:no-repeat!important;background-position:center!important;background-size:24px 24px!important;color:transparent!important;font-size:0!important;flex-grow:1!important;flex-basis:0%!important;max-width:none!important}.dark[_nghost-ng-c4032995172]     .simple-keyboard.hg-theme-default, .dark   [_nghost-ng-c4032995172]     .simple-keyboard.hg-theme-default{background:#1d1f25!important}.dark[_nghost-ng-c4032995172]     .simple-keyboard.hg-theme-default .hg-button, .dark   [_nghost-ng-c4032995172]     .simple-keyboard.hg-theme-default .hg-button{background:#3f3f46!important;color:#f8fafc!important;box-shadow:0 1px #0006!important}.dark[_nghost-ng-c4032995172]     .simple-keyboard.hg-theme-default .hg-button:active, .dark   [_nghost-ng-c4032995172]     .simple-keyboard.hg-theme-default .hg-button:active{background:#52525b!important}.dark[_nghost-ng-c4032995172]     .simple-keyboard.hg-theme-default .hg-button.hg-functionBtn, .dark   [_nghost-ng-c4032995172]     .simple-keyboard.hg-theme-default .hg-button.hg-functionBtn{background:#52525b!important;color:#f8fafc!important}.dark[_nghost-ng-c4032995172]     .simple-keyboard.hg-theme-default .hg-button[data-skbtn=", .dark -shadowcsshost-no-combinator ::ng-deep .simple-keyboard.hg-theme-default .hg-button[data-skbtn="{prev}"],.dark[_nghost-ng-c4032995172]   ::ng-deep[_ngcontent-ng-c4032995172]   .simple-keyboard.hg-theme-default[_ngcontent-ng-c4032995172]   .hg-button[data-skbtn="[_ngcontent-ng-c4032995172], .dark   [_nghost-ng-c4032995172]     .simple-keyboard.hg-theme-default .hg-button[data-skbtn="{next}"][_ngcontent-ng-c4032995172]{background-color:#2563eb!important}.dark[_nghost-ng-c4032995172]     .simple-keyboard.hg-theme-default .hg-button[data-skbtn=", .dark -shadowcsshost-no-combinator ::ng-deep .simple-keyboard.hg-theme-default .hg-button[data-skbtn="{bksp}"][_ngcontent-ng-c4032995172]{background:#dc2626!important;color:#fff!important}.calculator-scroll-wrapper[_ngcontent-ng-c4032995172]{display:block}@media(max-width:767px){:global(body.keyboard-active)[_ngcontent-ng-c4032995172]{overflow:hidden!important;position:fixed!important;width:100%!important;height:100vh!important;height:100dvh!important}}@media(max-width:767px){:global(body.keyboard-active)[_ngcontent-ng-c4032995172]   .app-scroll-wrapper[_ngcontent-ng-c4032995172]{padding-bottom:45vh;padding-bottom:45dvh}}</style><style ng-app-id="ng">.session-dialog-btn[_ngcontent-ng-c4109593417]{border:none!important;box-shadow:0 1px 2px #0000000f,0 2px 6px #0000000a,inset 0 1px #ffffff26;transition:all .2s ease}.session-dialog-btn[_ngcontent-ng-c4109593417]:hover{box-shadow:0 1px 3px #00000014,0 3px 10px #0000000f,inset 0 1px #fff3}.session-dialog-btn[_ngcontent-ng-c4109593417]:active{box-shadow:0 1px 1px #00000014,0 2px 4px #0000000a,inset 0 1px #ffffff1a}.dark[_nghost-ng-c4109593417]   .session-dialog-btn--primary[_ngcontent-ng-c4109593417], .dark   [_nghost-ng-c4109593417]   .session-dialog-btn--primary[_ngcontent-ng-c4109593417]{box-shadow:0 1px 2px #0000004d,0 2px 8px #0003,inset 0 1px #ffffff1a}.dark[_nghost-ng-c4109593417]   .session-dialog-btn--primary[_ngcontent-ng-c4109593417]:hover, .dark   [_nghost-ng-c4109593417]   .session-dialog-btn--primary[_ngcontent-ng-c4109593417]:hover{box-shadow:0 1px 3px #00000059,0 3px 12px #00000040,inset 0 1px #ffffff26}</style><script id="breadcrumbs-jsonld" type="application/ld+json">{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Promedio.app","item":"https://promedio.app"},{"@type":"ListItem","position":2,"name":"Calculadora de Notas","item":"https://promedio.app"}]}</script><style ng-app-id="ng">[_nghost-ng-c902168463]{display:block}button[_ngcontent-ng-c902168463]{outline:none;-webkit-tap-highlight-color:transparent}button[_ngcontent-ng-c902168463]:focus-visible   img[_ngcontent-ng-c902168463]{outline:2px solid #3b82f6;outline-offset:2px;border-radius:8px}</style><style ng-app-id="ng">[_nghost-ng-c3596424576]{display:inline-block;width:10rem;height:auto;aspect-ratio:135 / 40}</style><style ng-app-id="ng">[_nghost-ng-c310975312]{display:inline-block;width:10rem;height:auto;aspect-ratio:135 / 40}</style></head>

<body class="bg-calculator"><!--nghm--><script type="text/javascript" id="ng-event-dispatch-contract">(()=>{function p(t,n,r,o,e,i,f,m){return{eventType:t,event:n,targetElement:r,eic:o,timeStamp:e,eia:i,eirp:f,eiack:m}}function u(t){let n=[],r=e=>{n.push(e)};return{c:t,q:n,et:[],etc:[],d:r,h:e=>{r(p(e.type,e,e.target,t,Date.now()))}}}function s(t,n,r){for(let o=0;o<n.length;o++){let e=n[o];(r?t.etc:t.et).push(e),t.c.addEventListener(e,t.h,r)}}function c(t,n,r,o,e=window){let i=u(t);e._ejsas||(e._ejsas={}),e._ejsas[n]=i,s(i,r),s(i,o,!0)}window.__jsaction_bootstrap=c;})();
</script><script>window.__jsaction_bootstrap(document.body,"ng",["click","keydown","mousedown","submit","input","compositionstart","compositionend","paste"],["blur","focus"]);</script>
  <average-root ng-version="21.0.3" _nghost-ng-c2881057923 ngh="25" ng-server-context="ssg"><average-offline-banner _ngcontent-ng-c2881057923 ngh="0"><!----></average-offline-banner><average-update-prompt _ngcontent-ng-c2881057923 _nghost-ng-c1300769648 ngh="1"><!----></average-update-prompt><div _ngcontent-ng-c2881057923 class="app-scroll-wrapper"><div _ngcontent-ng-c2881057923 class="flex flex-col min-h-full"><div _ngcontent-ng-c2881057923 class="flex-grow"><router-outlet _ngcontent-ng-c2881057923></router-outlet><average-root ngh="22"><ngx-json-ld ngh="2"><script type="application/ld+json">{
  "@context": "https://schema.org",
  "@type": "WebApplication",
  "name": "Promedio.app",
  "url": "https://promedio.app",
  "browserRequirements": "Se requiere JavaScript habilitado",
  "inLanguage": "es",
  "applicationCategory": "Productividad",
  "applicationSubCategory": "Matemáticas",
  "operatingSystem": "Todas las plataformas",
  "description": "Calcula mi promedio de notas (funciona sin conexión): media ponderada, notas con porcentaje. Ideal para ESPOL y UPAO. ¿Cuánto necesito para el final? Con nuestra aplicación 'Promedio', tendrás una calculadora de notas siempre a mano. Descárgala como PWA en cualquier dispositivo. <strong>Funciona sin conexión y ocupa menos espacio que una app tradicional.</strong>",
  "image": "https://promedio.app/assets/icons/promedio-logo.svg",
  "screenshot": [
    {
      "@type": "ImageObject",
      "name": "Calculadora de promedio - versión escritorio",
      "contentUrl": "https://promedio.app/assets/screenshots/promedio-desktop.png",
      "width": 2880,
      "height": 1800
    },
    {
      "@type": "ImageObject",
      "name": "Calculadora de promedio - versión tableta",
      "contentUrl": "https://promedio.app/assets/screenshots/promedio-tablet.png",
      "width": 2360,
      "height": 1640
    },
    {
      "@type": "ImageObject",
      "name": "Calculadora de promedio - versión móvil",
      "contentUrl": "https://promedio.app/assets/screenshots/promedio-mobile.png",
      "width": 828,
      "height": 1792
    },
    {
      "@type": "ImageObject",
      "name": "Modo sin conexión - funciona sin internet",
      "contentUrl": "https://promedio.app/assets/screenshots/promedio-mobile-offline.png",
      "width": 828,
      "height": 1792
    }
  ],
  "offers": {
    "@type": "Offer",
    "price": "0",
    "priceCurrency": "EUR",
    "availability": "http://schema.org/InStock",
    "url": "https://promedio.app"
  }
}</script></ngx-json-ld><ngx-json-ld ngh="2"><script type="application/ld+json">{
  "@context": "https://schema.org",
  "@type": "WebPage",
  "name": "Calculadora de Notas",
  "description": "Calcula mi promedio de notas (funciona sin conexión): media ponderada, notas con porcentaje. Ideal para ESPOL y UPAO. ¿Cuánto necesito para el final?",
  "url": "https://promedio.app",
  "inLanguage": "es",
  "isPartOf": {
    "@type": "WebSite",
    "name": "Promedio.app",
    "url": "https://promedio.app"
  },
  "about": {
    "@type": "Thing",
    "name": "Productividad"
  },
  "primaryImageOfPage": {
    "@type": "ImageObject",
    "url": "https://promedio.app/assets/og-image.png"
  }
}</script></ngx-json-ld><ngx-json-ld ngh="2"><script type="application/ld+json">{
  "@context": "https://schema.org",
  "@type": "WebSite",
  "name": "Promedio.app",
  "url": "https://promedio.app",
  "inLanguage": "es",
  "sameAs": [
    "https://www.facebook.com/promedioapp"
  ]
}</script></ngx-json-ld><average-calculator-layout ngh="5"><header class="relative z-50"><div class="web-only"><average-navigation _nghost-ng-c464755666 ngh="3"><nav _ngcontent-ng-c464755666 aria-label="Global" class="flex items-center justify-between px-4 py-2 lg:px-8 md:py-4"><div _ngcontent-ng-c464755666 class="flex flex-1"><a _ngcontent-ng-c464755666 class="-m-1.5 p-1.5 flex items-center pl-3 offline-allowed" href="/"><div _ngcontent-ng-c464755666 class="w-8 [@media(min-width:360px)]:w-10 mr-3 flex"><svg _ngcontent-ng-c464755666="" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 69.66 37.79" aria-hidden="true" class="w-full text-gray-900 dark:text-white"><path _ngcontent-ng-c464755666="" fill="currentColor" d="M81.72,49.78a5.22,5.22,0,0,0-4.79.08L65.46,39.41a5.22,5.22,0,1,0-9.33.59L39.23,59.84A5.21,5.21,0,0,0,33.73,61l-8.35-4.14A5.23,5.23,0,1,0,23.83,60l8.35,4.14a5.22,5.22,0,1,0,9.7-2l16.9-19.84A5.19,5.19,0,0,0,63.11,42L74.59,52.44a5.22,5.22,0,1,0,7.13-2.66ZM78.62,56a1.74,1.74,0,0,1,1.55-3.12A1.74,1.74,0,1,1,78.62,56ZM59.87,38.94a1.74,1.74,0,1,1,2.34-.79A1.75,1.75,0,0,1,59.87,38.94ZM36.58,66.28a1.74,1.74,0,1,1,2.34-.79A1.75,1.75,0,0,1,36.58,66.28ZM21.75,57a1.74,1.74,0,0,1-2.33.79A1.74,1.74,0,1,1,21,54.64,1.73,1.73,0,0,1,21.75,57Z" transform="translate(-14.97 -32.15)"/><circle _ngcontent-ng-c464755666="" fill="currentColor" cx="15.35" cy="23.24" r="1.74"/><circle _ngcontent-ng-c464755666="" fill="currentColor" cx="23.14" cy="23.21" r="1.74"/><circle _ngcontent-ng-c464755666="" fill="currentColor" cx="38.72" cy="23.17" r="1.74"/><circle _ngcontent-ng-c464755666="" fill="currentColor" cx="46.51" cy="23.14" r="1.74"/><circle _ngcontent-ng-c464755666="" fill="currentColor" cx="54.3" cy="23.12" r="1.74"/></svg></div><span _ngcontent-ng-c464755666 class="text-base [@media(min-width:360px)]:text-lg font-semibold text-gray-900 dark:text-white whitespace-nowrap">Promedio.app</span><!----></a><!----></div><div _ngcontent-ng-c464755666 class="flex lg:gap-x-4 flex-1 justify-end items-center"><!----><!----><button _ngcontent-ng-c464755666 type="button" class="offline-allowed p-2.5 text-gray-700 dark:text-gray-300 rounded-md [@media(hover:hover)]:hover:bg-gray-100 [@media(hover:hover)]:dark:hover:bg-slate-800 active:bg-gray-100 dark:active:bg-slate-800 w-11 h-11 flex items-center justify-center focus:outline-none focus-visible:ring-2 focus-visible:ring-gray-400 dark:focus-visible:ring-gray-500" jsaction="click:;"><span _ngcontent-ng-c464755666 class="sr-only dark:hidden">Cambiar a modo oscuro</span><span _ngcontent-ng-c464755666 class="sr-only hidden dark:inline">Cambiar a modo claro</span><svg _ngcontent-ng-c464755666="" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" class="size-6 text-gray-900 dark:hidden"><path _ngcontent-ng-c464755666="" stroke-linecap="round" stroke-linejoin="round" d="M12 3v2.25m6.364.386l-1.591 1.591M21 12h-2.25m-.386 6.364l-1.591-1.591M12 18.75V21m-4.773-4.227l-1.591 1.591M5.25 12H3m4.227-4.773L5.636 5.636M15.75 12a3.75 3.75 0 11-7.5 0 3.75 3.75 0 017.5 0z"/></svg><svg _ngcontent-ng-c464755666="" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" class="size-6 text-white hidden dark:block"><path _ngcontent-ng-c464755666="" stroke-linecap="round" stroke-linejoin="round" d="M21.752 15.002A9.72 9.72 0 0118 15.75c-5.385 0-9.75-4.365-9.75-9.75 0-1.33.266-2.597.748-3.752A9.753 9.753 0 003 11.25c0 5.385 4.365 9.75 9.75 9.75 2.597 0 4.966-.996 6.752-2.648z"/></svg></button><!----><!----><!----></div></nav></average-navigation></div><div class="app-only"><average-navigation _nghost-ng-c464755666 ngh="4"><nav _ngcontent-ng-c464755666 aria-label="Global" class="flex items-center justify-between px-4 py-2 lg:px-8 md:py-4"><div _ngcontent-ng-c464755666 class="flex flex-1"><a _ngcontent-ng-c464755666 class="-m-1.5 p-1.5 flex items-center pl-3 offline-allowed" href="/"><div _ngcontent-ng-c464755666 class="w-8 [@media(min-width:360px)]:w-10 mr-3 flex"><svg _ngcontent-ng-c464755666="" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 69.66 37.79" aria-hidden="true" class="w-full text-gray-900 dark:text-white"><path _ngcontent-ng-c464755666="" fill="currentColor" d="M81.72,49.78a5.22,5.22,0,0,0-4.79.08L65.46,39.41a5.22,5.22,0,1,0-9.33.59L39.23,59.84A5.21,5.21,0,0,0,33.73,61l-8.35-4.14A5.23,5.23,0,1,0,23.83,60l8.35,4.14a5.22,5.22,0,1,0,9.7-2l16.9-19.84A5.19,5.19,0,0,0,63.11,42L74.59,52.44a5.22,5.22,0,1,0,7.13-2.66ZM78.62,56a1.74,1.74,0,0,1,1.55-3.12A1.74,1.74,0,1,1,78.62,56ZM59.87,38.94a1.74,1.74,0,1,1,2.34-.79A1.75,1.75,0,0,1,59.87,38.94ZM36.58,66.28a1.74,1.74,0,1,1,2.34-.79A1.75,1.75,0,0,1,36.58,66.28ZM21.75,57a1.74,1.74,0,0,1-2.33.79A1.74,1.74,0,1,1,21,54.64,1.73,1.73,0,0,1,21.75,57Z" transform="translate(-14.97 -32.15)"/><circle _ngcontent-ng-c464755666="" fill="currentColor" cx="15.35" cy="23.24" r="1.74"/><circle _ngcontent-ng-c464755666="" fill="currentColor" cx="23.14" cy="23.21" r="1.74"/><circle _ngcontent-ng-c464755666="" fill="currentColor" cx="38.72" cy="23.17" r="1.74"/><circle _ngcontent-ng-c464755666="" fill="currentColor" cx="46.51" cy="23.14" r="1.74"/><circle _ngcontent-ng-c464755666="" fill="currentColor" cx="54.3" cy="23.12" r="1.74"/></svg></div><span _ngcontent-ng-c464755666 class="text-base [@media(min-width:360px)]:text-lg font-semibold text-gray-900 dark:text-white whitespace-nowrap">Promedio.app</span><!----></a><!----></div><div _ngcontent-ng-c464755666 class="flex lg:gap-x-4 flex-1 justify-end items-center"><!----><!----><button _ngcontent-ng-c464755666 type="button" class="offline-allowed p-2.5 text-gray-700 dark:text-gray-300 rounded-md [@media(hover:hover)]:hover:bg-gray-100 [@media(hover:hover)]:dark:hover:bg-slate-800 active:bg-gray-100 dark:active:bg-slate-800 w-11 h-11 flex items-center justify-center focus:outline-none focus-visible:ring-2 focus-visible:ring-gray-400 dark:focus-visible:ring-gray-500" jsaction="click:;"><span _ngcontent-ng-c464755666 class="sr-only dark:hidden">Cambiar a modo oscuro</span><span _ngcontent-ng-c464755666 class="sr-only hidden dark:inline">Cambiar a modo claro</span><svg _ngcontent-ng-c464755666="" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" class="size-6 text-gray-900 dark:hidden"><path _ngcontent-ng-c464755666="" stroke-linecap="round" stroke-linejoin="round" d="M12 3v2.25m6.364.386l-1.591 1.591M21 12h-2.25m-.386 6.364l-1.591-1.591M12 18.75V21m-4.773-4.227l-1.591 1.591M5.25 12H3m4.227-4.773L5.636 5.636M15.75 12a3.75 3.75 0 11-7.5 0 3.75 3.75 0 017.5 0z"/></svg><svg _ngcontent-ng-c464755666="" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" class="size-6 text-white hidden dark:block"><path _ngcontent-ng-c464755666="" stroke-linecap="round" stroke-linejoin="round" d="M21.752 15.002A9.72 9.72 0 0118 15.75c-5.385 0-9.75-4.365-9.75-9.75 0-1.33.266-2.597.748-3.752A9.753 9.753 0 003 11.25c0 5.385 4.365 9.75 9.75 9.75 2.597 0 4.966-.996 6.752-2.648z"/></svg></button><!----><a _ngcontent-ng-c464755666 class="p-2.5 text-gray-700 dark:text-gray-300 rounded-md [@media(hover:hover)]:hover:bg-gray-100 [@media(hover:hover)]:dark:hover:bg-slate-800 active:bg-gray-100 dark:active:bg-slate-800 w-11 h-11 flex items-center justify-center focus:outline-none focus-visible:ring-2 focus-visible:ring-gray-400 dark:focus-visible:ring-gray-500" aria-label="Settings" href="/settings" jsaction="click:;"><svg _ngcontent-ng-c464755666="" fill="none" stroke="currentColor" viewBox="0 0 24 24" stroke-width="1.5" class="w-6 h-6"><path _ngcontent-ng-c464755666="" stroke-linecap="round" stroke-linejoin="round" d="M10.325 4.317c.426-1.756 2.924-1.756 3.35 0a1.724 1.724 0 002.573 1.066c1.543-.94 3.31.826 2.37 2.37a1.724 1.724 0 001.065 2.572c1.756.426 1.756 2.924 0 3.35a1.724 1.724 0 00-1.066 2.573c.94 1.543-.826 3.31-2.37 2.37a1.724 1.724 0 00-2.572 1.065c-.426 1.756-2.924 1.756-3.35 0a1.724 1.724 0 00-2.573-1.066c-1.543.94-3.31-.826-2.37-2.37a1.724 1.724 0 00-1.065-2.572c-1.756-.426-1.756-2.924 0-3.35a1.724 1.724 0 001.066-2.573c-.94-1.543.826-3.31 2.37-2.37.996.608 2.296.07 2.572-1.065z"/><path _ngcontent-ng-c464755666="" stroke-linecap="round" stroke-linejoin="round" d="M15 12a3 3 0 11-6 0 3 3 0 016 0z"/></svg></a><!----><!----></div></nav></average-navigation></div></header><main><!----><average-promedio-home-page ngh="21"><div class="relative isolate px-3 lg:px-8"><average-background-gradient position="top" _nghost-ng-c3898035239 ngh="6"><div _ngcontent-ng-c3898035239 class="gradient-container hidden md:block dark:hidden dark:md:block"><div _ngcontent-ng-c3898035239 aria-hidden="true" class="pointer-events-none absolute inset-x-0 -top-40 -z-10 transform-gpu overflow-hidden blur-3xl sm:-top-80"><div _ngcontent-ng-c3898035239 class="relative left-[calc(50%-11rem)] aspect-[1155/678] w-[36.125rem] -translate-x-1/2 rotate-[30deg] bg-gradient-to-tr from-sapphire-blue/30 to-blue-200/50 opacity-40 sm:left-[calc(50%-30rem)] sm:w-[72.1875rem]" style="clip-path: polygon(74.1% 44.1%, 100% 61.6%, 97.5% 26.9%, 85.5% 0.1%, 80.7% 2%, 72.5% 32.5%, 60.2% 62.4%, 52.4% 68.1%, 47.5% 58.3%, 45.2% 34.5%, 27.5% 76.7%, 0.1% 64.9%, 17.9% 100%, 27.6% 76.8%, 76.1% 97.7%, 74.1% 44.1%);"></div></div><!----><!----></div></average-background-gradient><div class="mx-auto max-w-5xl mb-8 sm:mt-4 sm:mb-20"><div class="text-center"><h1 class="text-2xl mt-2 md:mt-0 2xl:mt-10 font-semibold tracking-tight text-balance text-gray-900 dark:text-white sm:text-4xl lg:text-5xl"> Calculadora de Notas </h1><p class="mx-auto max-w-3xl md:mt-3 text-base leading-6 md:text-lg md:leading-8 text-gray-900 dark:text-gray-300">Calcula mi promedio de notas y examen final: promedio ponderado (media ponderada) o media aritmética. Ingresa tus notas y obtén el resultado al instante.</p><!----><div><average-marks-average-weighted-arithmetic-calculator _nghost-ng-c4032995172 ngh="9"><div _ngcontent-ng-c4032995172 class="mx-auto max-w-5xl pt-4 md:pt-8 2xl:pt-16"><div _ngcontent-ng-c4032995172 class="flex flex-col md:flex-row justify-center gap-4 md:gap-0"><div _ngcontent-ng-c4032995172 class="relative w-full rounded-3xl md:pr-4 md:w-1/2"><form _ngcontent-ng-c4032995172 novalidate autocomplete="off" class="calculator-form w-80 px-0 mx-auto ng-untouched ng-pristine ng-invalid" jsaction="submit:;"><button _ngcontent-ng-c4032995172 type="button" class="hidden md:block sr-only md:focus:not-sr-only md:focus:absolute md:focus:-top-10 md:focus:left-0 md:focus:z-50 md:focus:px-3 md:focus:py-1.5 md:focus:bg-white dark:md:focus:bg-slate-800 md:focus:text-slate-700 dark:md:focus:text-slate-300 md:focus:border md:focus:border-slate-300 dark:md:focus:border-slate-600 md:focus:shadow-sm md:focus:outline-none md:focus:ring-2 md:focus:ring-slate-400 md:focus:ring-offset-2 md:focus:text-sm md:focus:rounded-md" jsaction="click:;"> Saltar a instrucciones </button><button _ngcontent-ng-c4032995172 type="button" class="hidden md:block sr-only md:focus:not-sr-only md:focus:absolute md:focus:-top-10 md:focus:left-[180px] md:focus:z-50 md:focus:px-3 md:focus:py-1.5 md:focus:bg-white dark:md:focus:bg-slate-800 md:focus:text-slate-700 dark:md:focus:text-slate-300 md:focus:border md:focus:border-slate-300 dark:md:focus:border-slate-600 md:focus:shadow-sm md:focus:outline-none md:focus:ring-2 md:focus:ring-slate-400 md:focus:ring-offset-2 md:focus:text-sm md:focus:rounded-md" jsaction="click:;"> Saltar a resultados </button><table _ngcontent-ng-c4032995172><thead _ngcontent-ng-c4032995172><tr _ngcontent-ng-c4032995172 class="calculator-form__header"><th _ngcontent-ng-c4032995172 class="calculator-form__item text-black dark:text-white"><span _ngcontent-ng-c4032995172 class="inline-flex items-center gap-1.5 relative -right-3.5"> Nota <average-info-tooltip _ngcontent-ng-c4032995172 size="md" position="left" ngh="7"><span class="relative inline-flex items-center align-middle"><span class="sr-only">– Tu nota o calificación: números o porcentajes</span><!----><button type="button" class="group relative flex items-center justify-center rounded-full transition-colors cursor-help focus:outline-none focus-visible:ring-2 focus-visible:ring-blue-500 focus-visible:ring-offset-1 text-slate-600 hover:text-slate-800 dark:text-slate-400 dark:hover:text-slate-200 w-7 h-7" aria-label="Tu nota o calificación: números o porcentajes"><svg fill="none" viewBox="0 0 24 24" stroke="currentColor" aria-hidden="true" class="h-5 w-5"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M13 16h-1v-4h-1m1-4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z"/></svg><span role="tooltip" class="pointer-events-none absolute bottom-full mb-2 px-3 py-2 text-sm font-medium text-white bg-zinc-900 dark:bg-slate-700 rounded-md shadow-lg opacity-0 scale-95 transition-all duration-150 group-hover:opacity-100 group-hover:scale-100 group-focus:opacity-100 group-focus:scale-100 z-50 left-0 text-center whitespace-nowrap"><!----> Ej: 8, 7.5, 85% <!----><span class="absolute top-full w-0 h-0 border-x-4 border-x-transparent border-t-4 border-t-zinc-900 dark:border-t-slate-700 left-3"></span></span><!----></button></span></average-info-tooltip><!----></span></th><th _ngcontent-ng-c4032995172 class="calculator-form__item text-black dark:text-white"><span _ngcontent-ng-c4032995172 class="inline-flex items-center gap-1.5 relative -right-3.5"> Peso <average-info-tooltip _ngcontent-ng-c4032995172 size="md" position="right" ngh="7"><span class="relative inline-flex items-center align-middle"><span class="sr-only">– Peso: créditos o porcentaje de la nota</span><!----><button type="button" class="group relative flex items-center justify-center rounded-full transition-colors cursor-help focus:outline-none focus-visible:ring-2 focus-visible:ring-blue-500 focus-visible:ring-offset-1 text-slate-600 hover:text-slate-800 dark:text-slate-400 dark:hover:text-slate-200 w-7 h-7" aria-label="Peso: créditos o porcentaje de la nota"><svg fill="none" viewBox="0 0 24 24" stroke="currentColor" aria-hidden="true" class="h-5 w-5"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M13 16h-1v-4h-1m1-4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z"/></svg><span role="tooltip" class="pointer-events-none absolute bottom-full mb-2 px-3 py-2 text-sm font-medium text-white bg-zinc-900 dark:bg-slate-700 rounded-md shadow-lg opacity-0 scale-95 transition-all duration-150 group-hover:opacity-100 group-hover:scale-100 group-focus:opacity-100 group-focus:scale-100 z-50 right-0 text-center whitespace-nowrap"><!----> Ej: créditos, porcentaje <!----><span class="absolute top-full w-0 h-0 border-x-4 border-x-transparent border-t-4 border-t-zinc-900 dark:border-t-slate-700 right-3"></span></span><!----></button></span></average-info-tooltip><!----></span></th><!----></tr></thead><tbody _ngcontent-ng-c4032995172><tr _ngcontent-ng-c4032995172 class="ng-untouched ng-pristine ng-invalid"><td _ngcontent-ng-c4032995172 class="calculator-form__item calculator-form__item--with-visual-placeholder" data-placeholder="_" data-placeholder-mobile="_"><input _ngcontent-ng-c4032995172 formcontrolname="value" name="value" type="text" autocomplete="off" spellcheck="false" placeholder=" " class="calculator-form-input ng-untouched ng-pristine ng-invalid" aria-label="Fila 1, Nota, Ingrese la nota" id="calculator-form-input-value-0" inputmode="text" value jsaction="input:;blur:;compositionstart:;compositionend:;focus:;click:;paste:;"><!----></td><td _ngcontent-ng-c4032995172 class="calculator-form__item calculator-form__item--with-visual-placeholder" data-placeholder="_" data-placeholder-mobile="_"><input _ngcontent-ng-c4032995172 formcontrolname="weight" type="text" name="weight" autocomplete="off" spellcheck="false" placeholder=" " class="calculator-form-input shadow-sm ng-untouched ng-pristine ng-invalid" aria-label="Fila 1, Peso, Ingrese el peso" id="calculator-form-input-weight-0" inputmode="text" value jsaction="input:;blur:;compositionstart:;compositionend:;focus:;click:;paste:;"><!----><!----></td><!----></tr><!----><tr _ngcontent-ng-c4032995172 class="ng-untouched ng-pristine ng-invalid"><td _ngcontent-ng-c4032995172 class="calculator-form__item calculator-form__item--with-visual-placeholder" data-placeholder="_" data-placeholder-mobile="_"><input _ngcontent-ng-c4032995172 formcontrolname="value" name="value" type="text" autocomplete="off" spellcheck="false" placeholder=" " class="calculator-form-input ng-untouched ng-pristine ng-invalid" aria-label="Fila 2, Nota, Ingrese la nota" id="calculator-form-input-value-1" inputmode="text" value jsaction="input:;blur:;compositionstart:;compositionend:;focus:;click:;paste:;"><!----></td><td _ngcontent-ng-c4032995172 class="calculator-form__item calculator-form__item--with-visual-placeholder" data-placeholder="_" data-placeholder-mobile="_"><input _ngcontent-ng-c4032995172 formcontrolname="weight" type="text" name="weight" autocomplete="off" spellcheck="false" placeholder=" " class="calculator-form-input shadow-sm ng-untouched ng-pristine ng-invalid" aria-label="Fila 2, Peso, Ingrese el peso" id="calculator-form-input-weight-1" inputmode="text" value jsaction="input:;blur:;compositionstart:;compositionend:;focus:;click:;paste:;"><!----><!----></td><!----></tr><!----><tr _ngcontent-ng-c4032995172 class="ng-untouched ng-pristine ng-invalid"><td _ngcontent-ng-c4032995172 class="calculator-form__item calculator-form__item--with-visual-placeholder" data-placeholder="_" data-placeholder-mobile="+"><input _ngcontent-ng-c4032995172 formcontrolname="value" name="value" type="text" autocomplete="off" spellcheck="false" placeholder=" " class="calculator-form-input ng-untouched ng-pristine ng-invalid" aria-label="Fila 3, Nota, Ingrese la nota" id="calculator-form-input-value-2" inputmode="text" value jsaction="input:;blur:;compositionstart:;compositionend:;focus:;click:;paste:;"><!----></td><td _ngcontent-ng-c4032995172 class="calculator-form__item calculator-form__item--with-visual-placeholder" data-placeholder="_" data-placeholder-mobile="+"><input _ngcontent-ng-c4032995172 formcontrolname="weight" type="text" name="weight" autocomplete="off" spellcheck="false" placeholder=" " class="calculator-form-input shadow-sm ng-untouched ng-pristine ng-invalid" aria-label="Fila 3, Peso, Ingrese el peso" id="calculator-form-input-weight-2" inputmode="text" value jsaction="input:;blur:;compositionstart:;compositionend:;focus:;click:;paste:;"><!----><!----></td><!----></tr><!----><tr _ngcontent-ng-c4032995172 class="hidden md:table-row ng-untouched ng-pristine ng-invalid"><td _ngcontent-ng-c4032995172 class="calculator-form__item calculator-form__item--with-visual-placeholder" data-placeholder="_" data-placeholder-mobile="_"><input _ngcontent-ng-c4032995172 formcontrolname="value" name="value" type="text" autocomplete="off" spellcheck="false" placeholder=" " class="calculator-form-input ng-untouched ng-pristine ng-invalid" aria-label="Fila 4, Nota, Ingrese la nota" id="calculator-form-input-value-3" inputmode="text" value jsaction="input:;blur:;compositionstart:;compositionend:;focus:;click:;paste:;"><!----></td><td _ngcontent-ng-c4032995172 class="calculator-form__item calculator-form__item--with-visual-placeholder" data-placeholder="_" data-placeholder-mobile="_"><input _ngcontent-ng-c4032995172 formcontrolname="weight" type="text" name="weight" autocomplete="off" spellcheck="false" placeholder=" " class="calculator-form-input shadow-sm ng-untouched ng-pristine ng-invalid" aria-label="Fila 4, Peso, Ingrese el peso" id="calculator-form-input-weight-3" inputmode="text" value jsaction="input:;blur:;compositionstart:;compositionend:;focus:;click:;paste:;"><!----><!----></td><!----></tr><!----><tr _ngcontent-ng-c4032995172 class="hidden md:table-row ng-untouched ng-pristine ng-invalid"><td _ngcontent-ng-c4032995172 class="calculator-form__item calculator-form__item--with-visual-placeholder" data-placeholder="_" data-placeholder-mobile="_"><input _ngcontent-ng-c4032995172 formcontrolname="value" name="value" type="text" autocomplete="off" spellcheck="false" placeholder=" " class="calculator-form-input ng-untouched ng-pristine ng-invalid" aria-label="Fila 5, Nota, Ingrese la nota" id="calculator-form-input-value-4" inputmode="text" value jsaction="input:;blur:;compositionstart:;compositionend:;focus:;click:;paste:;"><!----></td><td _ngcontent-ng-c4032995172 class="calculator-form__item calculator-form__item--with-visual-placeholder" data-placeholder="_" data-placeholder-mobile="_"><input _ngcontent-ng-c4032995172 formcontrolname="weight" type="text" name="weight" autocomplete="off" spellcheck="false" placeholder=" " class="calculator-form-input shadow-sm ng-untouched ng-pristine ng-invalid" aria-label="Fila 5, Peso, Ingrese el peso" id="calculator-form-input-weight-4" inputmode="text" value jsaction="input:;blur:;compositionstart:;compositionend:;focus:;click:;paste:;"><!----><!----></td><!----></tr><!----><tr _ngcontent-ng-c4032995172 class="hidden md:table-row ng-untouched ng-pristine ng-invalid"><td _ngcontent-ng-c4032995172 class="calculator-form__item calculator-form__item--with-visual-placeholder" data-placeholder="_" data-placeholder-mobile="_"><input _ngcontent-ng-c4032995172 formcontrolname="value" name="value" type="text" autocomplete="off" spellcheck="false" placeholder=" " class="calculator-form-input ng-untouched ng-pristine ng-invalid" aria-label="Fila 6, Nota, Ingrese la nota" id="calculator-form-input-value-5" inputmode="text" value jsaction="input:;blur:;compositionstart:;compositionend:;focus:;click:;paste:;"><!----></td><td _ngcontent-ng-c4032995172 class="calculator-form__item calculator-form__item--with-visual-placeholder" data-placeholder="_" data-placeholder-mobile="_"><input _ngcontent-ng-c4032995172 formcontrolname="weight" type="text" name="weight" autocomplete="off" spellcheck="false" placeholder=" " class="calculator-form-input shadow-sm ng-untouched ng-pristine ng-invalid" aria-label="Fila 6, Peso, Ingrese el peso" id="calculator-form-input-weight-5" inputmode="text" value jsaction="input:;blur:;compositionstart:;compositionend:;focus:;click:;paste:;"><!----><!----></td><!----></tr><!----><tr _ngcontent-ng-c4032995172 class="hidden md:table-row ng-untouched ng-pristine ng-invalid"><td _ngcontent-ng-c4032995172 class="calculator-form__item calculator-form__item--with-visual-placeholder" data-placeholder="+" data-placeholder-mobile="_"><input _ngcontent-ng-c4032995172 formcontrolname="value" name="value" type="text" autocomplete="off" spellcheck="false" placeholder=" " class="calculator-form-input ng-untouched ng-pristine ng-invalid" aria-label="Fila 7, Nota, Ingrese la nota" id="calculator-form-input-value-6" inputmode="text" value jsaction="input:;blur:;compositionstart:;compositionend:;focus:;click:;paste:;"><!----></td><td _ngcontent-ng-c4032995172 class="calculator-form__item calculator-form__item--with-visual-placeholder" data-placeholder="+" data-placeholder-mobile="_"><input _ngcontent-ng-c4032995172 formcontrolname="weight" type="text" name="weight" autocomplete="off" spellcheck="false" placeholder=" " class="calculator-form-input shadow-sm ng-untouched ng-pristine ng-invalid" aria-label="Fila 7, Peso, Ingrese el peso" id="calculator-form-input-weight-6" inputmode="text" value jsaction="input:;blur:;compositionstart:;compositionend:;focus:;click:;paste:;"><!----><!----></td><!----></tr><!----><!----></tbody></table></form></div><div _ngcontent-ng-c4032995172 class="relative w-full z-10 rounded-3xl px-0 md:w-1/2 lg:flex-none md:mt-[10px]"><div _ngcontent-ng-c4032995172 class="sticky top-3"><div _ngcontent-ng-c4032995172 tabindex="-1" role="region" class="bg-white/75 border border-black/[0.06] dark:bg-white/[0.08] dark:border-white/[0.12] dark:shadow-[0_1px_2px_rgba(0,0,0,0.2),0_4px_16px_rgba(0,0,0,0.15),inset_0_0_0_1px_rgba(255,255,255,0.06)] focus:outline-none lg:flex-none md:pb-20 md:px-10 md:py-10 pb-20 px-6 py-7 relative rounded-3xl shadow-[0_1px_2px_rgba(0,0,0,0.04),0_4px_12px_rgba(0,0,0,0.03),inset_0_0_0_1px_rgba(255,255,255,0.6)] text-left w-full xs:px-6 z-10" aria-label="Para calcular el promedio ponderado, ingrese las notas en la calculadora"><button _ngcontent-ng-c4032995172 class="absolute bottom-4 left-4 right-4 py-2 px-4 text-slate-500 dark:text-slate-400 hover:text-slate-700 dark:hover:text-slate-200 transition-colors focus-visible:outline-none flex items-center justify-center gap-2" aria-label="Mostrar manual" title="Mostrar manual" jsaction="click:;"><svg _ngcontent-ng-c4032995172="" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2" class="h-5 w-5"><path _ngcontent-ng-c4032995172="" stroke-linecap="round" stroke-linejoin="round" d="M12 6.253v13m0-13C10.832 5.477 9.246 5 7.5 5S4.168 5.477 3 6.253v13C4.168 18.477 5.754 18 7.5 18s3.332.477 4.5 1.253m0-13C13.168 5.477 14.754 5 16.5 5c1.747 0 3.332.477 4.5 1.253v13C19.832 18.477 18.247 18 16.5 18c-1.746 0-3.332.477-4.5 1.253"/><!----><!----></svg><span _ngcontent-ng-c4032995172 class="text-sm font-medium"> Mostrar manual <!----><!----></span></button><!----><div _ngcontent-ng-c4032995172 hidden><!----><!----><p _ngcontent-ng-c4032995172 class="text-base leading-6 text-slate-800 contrast-more:text-black dark:text-white"><strong _ngcontent-ng-c4032995172>Números decimales</strong> - Para calcular el promedio con mayor precisión, la calculadora puede trabajar con números decimales. Puede usar tanto comas como puntos para separar los números. </p><!----><!----><p _ngcontent-ng-c4032995172 class="text-base leading-6 text-slate-800 contrast-more:text-black dark:text-white"><strong _ngcontent-ng-c4032995172>Porcentajes</strong> - Ingrese el 90% como 90. </p><!----><!----><p _ngcontent-ng-c4032995172 class="text-base leading-6 text-slate-800 contrast-more:text-black dark:text-white"><strong _ngcontent-ng-c4032995172>Importación masiva</strong> - La importación masiva admite cualquier lista de números separados por espacios. Copie la fila de calificaciones y péguela en el primer campo de la tabla de calificaciones, haga lo mismo para los pesos. </p><!----><!----><p _ngcontent-ng-c4032995172 class="text-base leading-6 text-slate-800 contrast-more:text-black dark:text-white"><strong _ngcontent-ng-c4032995172>Guardar cálculos</strong> - ahora puedes guardar tus cálculos de promedios y volver a ellos en cualquier momento. Simplemente haz clic en el botón "Guardar" e introduce un nombre para tu cálculo </p><!----></div><div _ngcontent-ng-c4032995172><!----><div _ngcontent-ng-c4032995172 class="mt-0 flex items-center sm:mt-3"><p _ngcontent-ng-c4032995172 class="text-3xl sm:text-5xl min-w-[90px] sm:min-w-[150px] text-center leading-none transition-colors text-slate-900 dark:text-white cursor-pointer hover:opacity-80" title jsaction="click:;"><span _ngcontent-ng-c4032995172 class="font-bold notranslate"><!----> -,-- <!----></span></p><p _ngcontent-ng-c4032995172 class="ml-3 text-base"><span _ngcontent-ng-c4032995172 class="inline-flex items-center gap-1.5 font-semibold text-slate-900 dark:text-white"> Promedio ponderado <!----></span></p></div><!----><!----><!----><div _ngcontent-ng-c4032995172 class="block space-y-8 border-t border-slate-900/10 text-sm leading-6 text-slate-800 dark:text-white dark:border-slate-700 mt-4 pt-4 sm:mt-5 sm:pt-5"></div><!----><div _ngcontent-ng-c4032995172 class="flex items-center"><p _ngcontent-ng-c4032995172 class="text-3xl sm:text-5xl min-w-[90px] sm:min-w-[150px] text-center leading-none transition-colors text-slate-900 dark:text-white cursor-pointer hover:opacity-80" title jsaction="click:;"><span _ngcontent-ng-c4032995172 class="font-bold notranslate"><!----> -,-- <!----></span></p><p _ngcontent-ng-c4032995172 class="ml-3 text-base"><span _ngcontent-ng-c4032995172 class="inline-flex items-center gap-1.5 font-semibold text-slate-900 dark:text-white"> Media aritmética <!----></span></p></div><!----><!----><!----><div _ngcontent-ng-c4032995172 class="block border-t border-slate-900/10 dark:border-slate-700 mt-4 pt-4 sm:mt-5 sm:pt-5"><div _ngcontent-ng-c4032995172 class="flex items-center justify-between"><div _ngcontent-ng-c4032995172 class="flex items-center"><p _ngcontent-ng-c4032995172 class="text-3xl sm:text-5xl min-w-[90px] sm:min-w-[150px] text-center leading-none transition-colors text-slate-400 dark:text-slate-600"><span _ngcontent-ng-c4032995172 class="font-bold notranslate"><!----> -,-- <!----></span></p><p _ngcontent-ng-c4032995172 class="ml-3 text-base font-semibold text-slate-900 dark:text-white inline-flex items-center gap-1.5"> Final <average-info-tooltip _ngcontent-ng-c4032995172 size="md" width="wide" ngh="8"><span class="relative inline-flex items-center align-middle"><!----><button type="button" class="group relative flex items-center justify-center rounded-full transition-colors cursor-help focus:outline-none focus-visible:ring-2 focus-visible:ring-blue-500 focus-visible:ring-offset-1 text-slate-600 hover:text-slate-800 dark:text-slate-400 dark:hover:text-slate-200 w-7 h-7" aria-label="Simula tu promedio final incluyendo el examen"><svg fill="none" viewBox="0 0 24 24" stroke="currentColor" aria-hidden="true" class="h-5 w-5"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M13 16h-1v-4h-1m1-4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z"/></svg><span role="tooltip" class="pointer-events-none absolute bottom-full mb-2 px-3 py-2 text-sm font-medium text-white bg-zinc-900 dark:bg-slate-700 rounded-md shadow-lg opacity-0 scale-95 transition-all duration-150 group-hover:opacity-100 group-hover:scale-100 group-focus:opacity-100 group-focus:scale-100 z-50 left-1/2 -translate-x-1/2 min-w-[240px] max-w-sm text-center"><!----> Simula tu promedio final incluyendo el examen <!----><span class="absolute top-full w-0 h-0 border-x-4 border-x-transparent border-t-4 border-t-zinc-900 dark:border-t-slate-700 left-1/2 -translate-x-1/2"></span></span><!----></button></span></average-info-tooltip><!----></p></div><button _ngcontent-ng-c4032995172 type="button" role="switch" class="group relative inline-flex h-6 w-11 flex-shrink-0 cursor-pointer items-center rounded-full transition-colors duration-200 ease-in-out focus:outline-none focus-visible:ring-2 focus-visible:ring-blue-500 focus-visible:ring-offset-2 bg-slate-300 dark:bg-slate-600" aria-checked="false" aria-label="Calcular promedio final" jsaction="click:;"><span _ngcontent-ng-c4032995172 class="pointer-events-none absolute left-0.5 top-1/2 -translate-y-1/2 inline-block h-5 w-5 rounded-full bg-white shadow-sm ring-0 transition-transform duration-200 ease-in-out translate-x-0"></span></button></div><!----></div><!----><div _ngcontent-ng-c4032995172 class="flex justify-center mt-6 sm:mt-9"><div _ngcontent-ng-c4032995172 class="inline-flex w-full shadow-sm button-group"><button _ngcontent-ng-c4032995172 class="group relative bg-green-700 py-3 px-5 sm:py-4 sm:px-6 text-green-100 [@media(hover:hover)]:hover:bg-[#1fb855] [@media(hover:hover)]:hover:text-white active:bg-[#1fb855] active:text-white transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-green-400 flex items-center justify-center rounded-l-[14px]" aria-label="Cálculos guardados" jsaction="click:;"><span _ngcontent-ng-c4032995172 role="tooltip" class="absolute top-full left-0 mt-3 px-3.5 py-2 text-[13px] font-medium leading-snug text-white bg-zinc-900 dark:bg-slate-700 rounded-lg shadow-lg pointer-events-none z-10 w-max max-w-[220px] text-center opacity-0 hidden md:block md:group-hover:opacity-100 transition-opacity duration-150"> Cálculos guardados <span _ngcontent-ng-c4032995172 class="absolute bottom-full left-6 w-0 h-0 border-l-[8px] border-l-transparent border-r-[8px] border-r-transparent border-b-[8px] border-b-zinc-900 dark:border-b-slate-700"></span></span><svg _ngcontent-ng-c4032995172="" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2" class="h-5 w-5 sm:h-6 sm:w-6 pointer-events-none"><path _ngcontent-ng-c4032995172="" stroke-linecap="round" stroke-linejoin="round" d="M3 7v10a2 2 0 002 2h14a2 2 0 002-2V9a2 2 0 00-2-2h-6l-2-2H5a2 2 0 00-2 2z"/></svg><!----></button><!----><button _ngcontent-ng-c4032995172 class="relative shrink-0 bg-green-600 py-3 px-5 sm:py-4 sm:px-5 text-white font-semibold [@media(hover:hover)]:hover:bg-[#1fb855] active:bg-[#1fb855] transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-green-400 flex items-center justify-center gap-2 cursor-not-allowed" aria-disabled="true" aria-label="Primero ingrese las notas en la calculadora" jsaction="click:;"><span _ngcontent-ng-c4032995172 role="tooltip" class="disabled-save-tooltip absolute top-full left-0 mt-3 px-3.5 py-2 text-[13px] font-medium leading-snug text-white bg-zinc-900 dark:bg-slate-700 rounded-lg shadow-lg pointer-events-none z-10 w-max max-w-[220px] text-center transition-opacity duration-150"> Primero ingrese las notas en la calculadora <span _ngcontent-ng-c4032995172 class="absolute bottom-full left-6 w-0 h-0 border-l-[8px] border-l-transparent border-r-[8px] border-r-transparent border-b-[8px] border-b-zinc-900 dark:border-b-slate-700"></span></span><!----><svg _ngcontent-ng-c4032995172="" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2" class="h-5 w-5 sm:h-6 sm:w-6 flex-shrink-0 pointer-events-none"><path _ngcontent-ng-c4032995172="" stroke-linecap="round" stroke-linejoin="round" d="M8 7H5a2 2 0 00-2 2v9a2 2 0 002 2h14a2 2 0 002-2V9a2 2 0 00-2-2h-3m-1 4l-3 3m0 0l-3-3m3 3V4"/></svg><span _ngcontent-ng-c4032995172 class="hidden sm:inline truncate">Guardar</span></button><!----><button _ngcontent-ng-c4032995172 class="flex-1 min-w-0 bg-sapphire-blue py-3 px-4 sm:py-4 sm:px-5 text-white font-semibold [@media(hover:hover)]:hover:bg-blue-600 active:bg-blue-600 transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-blue-400 flex items-center justify-center gap-2 rounded-r-[14px]" aria-label="Nuevo cálculo" jsaction="click:;"><svg _ngcontent-ng-c4032995172="" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2" class="h-5 w-5 sm:h-6 sm:w-6 flex-shrink-0 pointer-events-none"><path _ngcontent-ng-c4032995172="" stroke-linecap="round" stroke-linejoin="round" d="M4 4v5h.582m15.356 2A8.001 8.001 0 004.582 9m0 0H9m11 11v-5h-.581m0 0a8.003 8.003 0 01-15.357-2m15.357 2H15"/></svg><span _ngcontent-ng-c4032995172 class="hidden xs:inline truncate">Nuevo cálculo</span></button></div></div><!----></div></div></div></div></div><dialog _ngcontent-ng-c4032995172 class="fixed inset-0 m-auto h-fit p-0 bg-white dark:bg-slate-800 rounded-2xl shadow-2xl w-[calc(100%-2rem)] max-w-[420px] backdrop:bg-black backdrop:bg-opacity-60 backdrop:backdrop-blur-[2px] z-[1000] border-0 overflow-hidden"><div _ngcontent-ng-c4032995172 class="p-5 sm:p-8"><div _ngcontent-ng-c4032995172 class="flex items-center gap-3 mb-4 sm:flex-col sm:gap-0 sm:mb-6"><div _ngcontent-ng-c4032995172 class="w-10 h-10 sm:w-14 sm:h-14 sm:mb-4 rounded-full bg-green-100 dark:bg-green-900/30 flex items-center justify-center flex-shrink-0"><svg _ngcontent-ng-c4032995172="" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2" class="h-5 w-5 sm:h-7 sm:w-7 text-green-600 dark:text-green-400"><path _ngcontent-ng-c4032995172="" stroke-linecap="round" stroke-linejoin="round" d="M3 7v10a2 2 0 002 2h14a2 2 0 002-2V9a2 2 0 00-2-2h-6l-2-2H5a2 2 0 00-2 2z"/></svg></div><h2 _ngcontent-ng-c4032995172 class="text-lg sm:text-2xl font-bold text-slate-900 dark:text-white"> Actualizar cálculo </h2></div><div _ngcontent-ng-c4032995172 class="mb-5 sm:mb-8"><label _ngcontent-ng-c4032995172 class="block text-sm font-medium text-slate-600 dark:text-slate-300 mb-2 text-left sm:text-center"> Introduce nombre del cálculo </label><input _ngcontent-ng-c4032995172 type="text" readonly class="w-full p-2.5 sm:p-3 border border-gray-200 rounded-lg bg-slate-50 text-slate-500 dark:bg-slate-700/50 dark:border-slate-600 dark:text-slate-400 text-base sm:text-center cursor-not-allowed" value></div><div _ngcontent-ng-c4032995172 class="flex flex-row-reverse gap-2 sm:flex-col sm:gap-3"><button _ngcontent-ng-c4032995172 autofocus class="flex-1 sm:w-full px-4 sm:px-6 py-2.5 sm:py-3 bg-green-600 rounded-lg text-base font-semibold text-white [@media(hover:hover)]:hover:bg-green-700 active:bg-green-800 transition-colors shadow-sm [@media(hover:hover)]:hover:shadow-md focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-green-600" jsaction="click:;"> Actualizar </button><button _ngcontent-ng-c4032995172 class="flex-1 sm:w-full px-4 sm:px-6 py-2.5 sm:py-3 bg-slate-100 dark:bg-slate-700 rounded-lg text-base font-medium text-slate-700 dark:text-slate-200 [@media(hover:hover)]:hover:bg-slate-200 [@media(hover:hover)]:dark:hover:bg-slate-600 active:bg-slate-300 dark:active:bg-slate-500 transition-colors focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-slate-500" jsaction="click:;"> Cancelar </button></div></div></dialog><!----><dialog _ngcontent-ng-c4032995172 class="fixed inset-0 m-auto h-fit p-0 bg-white dark:bg-slate-800 rounded-2xl shadow-2xl w-[calc(100%-2rem)] max-w-[420px] backdrop:bg-black backdrop:bg-opacity-60 backdrop:backdrop-blur-[2px] z-[1000] border-0 overflow-hidden outline-none"><div _ngcontent-ng-c4032995172 class="p-5 sm:p-8"><div _ngcontent-ng-c4032995172 class="flex items-center gap-3 mb-4 sm:flex-col sm:gap-0 sm:mb-6"><div _ngcontent-ng-c4032995172 class="w-10 h-10 sm:w-14 sm:h-14 sm:mb-4 rounded-full bg-green-100 dark:bg-green-900/30 flex items-center justify-center flex-shrink-0"><svg _ngcontent-ng-c4032995172="" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2" class="h-5 w-5 sm:h-7 sm:w-7 text-green-600 dark:text-green-400"><path _ngcontent-ng-c4032995172="" stroke-linecap="round" stroke-linejoin="round" d="M3 7v10a2 2 0 002 2h14a2 2 0 002-2V9a2 2 0 00-2-2h-6l-2-2H5a2 2 0 00-2 2z"/></svg></div><h2 _ngcontent-ng-c4032995172 class="text-lg sm:text-2xl font-bold text-slate-900 dark:text-white"> Guardar cálculo </h2></div><div _ngcontent-ng-c4032995172 class="mb-5 sm:mb-8"><label _ngcontent-ng-c4032995172 class="block text-sm font-medium text-slate-600 dark:text-slate-300 mb-2 text-left sm:text-center"> Introduce nombre del cálculo </label><input _ngcontent-ng-c4032995172 type="text" inputmode="text" enterkeyhint="done" class="w-full p-2.5 sm:p-3 border border-gray-200 rounded-lg focus:outline-none focus:ring-2 focus:ring-blue-500 focus:border-transparent bg-white text-slate-900 dark:bg-slate-700 dark:border-slate-600 dark:text-white text-base sm:text-center ng-untouched ng-pristine ng-valid" placeholder="Nombre" value jsaction="input:;blur:;compositionstart:;compositionend:;"></div><div _ngcontent-ng-c4032995172 class="flex flex-row-reverse gap-2 sm:flex-col sm:gap-3"><button _ngcontent-ng-c4032995172 class="flex-1 sm:w-full px-4 sm:px-6 py-2.5 sm:py-3 bg-green-600 rounded-lg text-base font-semibold text-white [@media(hover:hover)]:hover:bg-green-700 active:bg-green-800 transition-colors shadow-sm [@media(hover:hover)]:hover:shadow-md focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-green-600 opacity-50 cursor-not-allowed" disabled jsaction="click:;"> Guardar </button><button _ngcontent-ng-c4032995172 class="flex-1 sm:w-full px-4 sm:px-6 py-2.5 sm:py-3 bg-slate-100 dark:bg-slate-700 rounded-lg text-base font-medium text-slate-700 dark:text-slate-200 [@media(hover:hover)]:hover:bg-slate-200 [@media(hover:hover)]:dark:hover:bg-slate-600 active:bg-slate-300 dark:active:bg-slate-500 transition-colors focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-slate-500" jsaction="click:;"> Cancelar </button></div></div></dialog><!----><dialog _ngcontent-ng-c4032995172 class="fixed inset-0 bottom-0 p-0 bg-white dark:bg-slate-800 rounded-t-2xl md:rounded-2xl w-full max-w-md backdrop:bg-black backdrop:bg-opacity-50 backdrop:backdrop-blur-[2px] mt-auto mx-auto mb-0 md:mb-auto z-[9000]" jsaction="keydown:;"><div _ngcontent-ng-c4032995172 class="p-6"><div _ngcontent-ng-c4032995172 class="flex justify-between items-center mb-4"><div _ngcontent-ng-c4032995172 class="flex items-center gap-3"><div _ngcontent-ng-c4032995172 class="w-10 h-10 rounded-full bg-green-100 dark:bg-green-900/30 flex items-center justify-center flex-shrink-0"><svg _ngcontent-ng-c4032995172="" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2" class="h-5 w-5 text-green-600 dark:text-green-400"><path _ngcontent-ng-c4032995172="" stroke-linecap="round" stroke-linejoin="round" d="M3 7v10a2 2 0 002 2h14a2 2 0 002-2V9a2 2 0 00-2-2h-6l-2-2H5a2 2 0 00-2 2z"/></svg></div><h2 _ngcontent-ng-c4032995172 class="text-xl font-semibold text-slate-900 dark:text-white"> Cálculos guardados </h2></div><button _ngcontent-ng-c4032995172 aria-label="Close" tabindex="0" class="text-gray-500 [@media(hover:hover)]:hover:text-gray-700 dark:text-gray-400 [@media(hover:hover)]:dark:hover:text-gray-200 h-8 w-8 flex items-center justify-center rounded-full bg-gray-100 [@media(hover:hover)]:hover:bg-gray-200 dark:bg-slate-700 [@media(hover:hover)]:dark:hover:bg-slate-600 transition-colors" jsaction="click:;focus:;"> × </button></div><!----><div _ngcontent-ng-c4032995172 class="text-center py-8 text-slate-500 dark:text-slate-400"><svg _ngcontent-ng-c4032995172="" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor" class="h-12 w-12 mx-auto mb-3 text-slate-400"><path _ngcontent-ng-c4032995172="" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="M9 13h6m-3-3v6m-9 1V7a2 2 0 012-2h6l2 2h6a2 2 0 012 2v8a2 2 0 01-2 2H5a2 2 0 01-2-2z"/></svg> No tienes cálculos guardados </div><!----></div></dialog><!----><dialog _ngcontent-ng-c4032995172 class="fixed inset-0 m-auto h-fit p-0 bg-white dark:bg-slate-800 rounded-2xl shadow-2xl w-[calc(100%-2rem)] max-w-[420px] backdrop:bg-black backdrop:bg-opacity-60 backdrop:backdrop-blur-[2px] z-[1000] border-0 overflow-hidden outline-none"><div _ngcontent-ng-c4032995172 class="p-5 sm:p-8"><div _ngcontent-ng-c4032995172 class="flex items-center gap-3 mb-4 sm:flex-col sm:gap-0 sm:mb-6"><div _ngcontent-ng-c4032995172 class="w-10 h-10 sm:w-14 sm:h-14 sm:mb-4 rounded-full bg-blue-100 dark:bg-blue-900/30 flex items-center justify-center flex-shrink-0"><svg _ngcontent-ng-c4032995172="" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2" class="h-5 w-5 sm:h-7 sm:w-7 text-blue-600 dark:text-blue-400"><path _ngcontent-ng-c4032995172="" stroke-linecap="round" stroke-linejoin="round" d="M11 5H6a2 2 0 00-2 2v11a2 2 0 002 2h11a2 2 0 002-2v-5m-1.414-9.414a2 2 0 112.828 2.828L11.828 15H9v-2.828l8.586-8.586z"/></svg></div><h2 _ngcontent-ng-c4032995172 class="text-lg sm:text-2xl font-bold text-slate-900 dark:text-white"> Renombrar cálculo </h2></div><div _ngcontent-ng-c4032995172 class="mb-5 sm:mb-8"><label _ngcontent-ng-c4032995172 class="block text-sm font-medium text-slate-600 dark:text-slate-300 mb-2 text-left sm:text-center"> Nuevo nombre </label><input _ngcontent-ng-c4032995172 type="text" inputmode="text" enterkeyhint="done" class="w-full p-2.5 sm:p-3 border border-gray-200 rounded-lg focus:outline-none focus:ring-2 focus:ring-blue-500 focus:border-transparent bg-white text-slate-900 dark:bg-slate-700 dark:border-slate-600 dark:text-white text-base sm:text-center ng-untouched ng-pristine ng-valid" placeholder="Nombre" value jsaction="input:;blur:;compositionstart:;compositionend:;"></div><div _ngcontent-ng-c4032995172 class="flex flex-row-reverse gap-2 sm:flex-col sm:gap-3"><button _ngcontent-ng-c4032995172 class="flex-1 sm:w-full px-4 sm:px-6 py-2.5 sm:py-3 bg-blue-600 rounded-lg text-base font-semibold text-white [@media(hover:hover)]:hover:bg-blue-700 active:bg-blue-800 transition-colors shadow-sm [@media(hover:hover)]:hover:shadow-md focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-blue-600 opacity-50 cursor-not-allowed" disabled jsaction="click:;"> Renombrar </button><button _ngcontent-ng-c4032995172 class="flex-1 sm:w-full px-4 sm:px-6 py-2.5 sm:py-3 bg-slate-100 dark:bg-slate-700 rounded-lg text-base font-medium text-slate-700 dark:text-slate-200 [@media(hover:hover)]:hover:bg-slate-200 [@media(hover:hover)]:dark:hover:bg-slate-600 active:bg-slate-300 dark:active:bg-slate-500 transition-colors focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-slate-500" jsaction="click:;"> Cancelar </button></div></div></dialog><!----><average-session-recovery-dialog _ngcontent-ng-c4032995172 _nghost-ng-c4109593417 ngh="2"><dialog _ngcontent-ng-c4109593417 class="fixed inset-0 m-auto h-fit p-0 bg-white dark:bg-slate-800 rounded-2xl shadow-2xl w-[calc(100%-2rem)] max-w-[420px] backdrop:bg-black/60 backdrop:backdrop-blur-[2px] z-[1000] border-0 overflow-hidden"><div _ngcontent-ng-c4109593417 class="p-5 sm:p-8"><div _ngcontent-ng-c4109593417 class="flex items-center gap-3 mb-4 sm:flex-col sm:items-center sm:gap-0 sm:mb-6"><div _ngcontent-ng-c4109593417 class="w-10 h-10 sm:w-14 sm:h-14 sm:mb-4 rounded-full bg-blue-100 dark:bg-blue-900/30 flex items-center justify-center flex-shrink-0"><svg _ngcontent-ng-c4109593417="" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor" class="h-5 w-5 sm:h-7 sm:w-7 text-blue-600 dark:text-blue-400"><path _ngcontent-ng-c4109593417="" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M4 4v5h.582m15.356 2A8.001 8.001 0 004.582 9m0 0H9m11 11v-5h-.581m0 0a8.003 8.003 0 01-15.357-2m15.357 2H15"/></svg></div><h2 _ngcontent-ng-c4109593417 class="text-lg sm:text-2xl font-bold text-slate-900 dark:text-white text-left sm:text-center"> ¿Restaurar cálculo anterior? </h2></div><p _ngcontent-ng-c4109593417 class="text-slate-600 dark:text-slate-300 text-base mb-5 sm:mb-8 text-left sm:text-center"> Tienes un cálculo sin guardar de tu visita anterior. ¿Quieres restaurarlo? </p><div _ngcontent-ng-c4109593417 class="flex flex-row-reverse gap-2"><button _ngcontent-ng-c4109593417 autofocus class="session-dialog-btn session-dialog-btn--primary flex-1 px-4 sm:px-6 py-2.5 sm:py-3 bg-sapphire-blue rounded-[14px] text-base font-semibold text-white hover:bg-blue-600 active:bg-blue-700 transition-colors shadow-sm hover:shadow-md focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-blue-600" jsaction="click:;"> Restaurar </button><button _ngcontent-ng-c4109593417 class="session-dialog-btn session-dialog-btn--secondary flex-1 px-4 sm:px-6 py-2.5 sm:py-3 bg-slate-100 dark:bg-slate-700 rounded-[14px] text-base font-medium text-slate-700 dark:text-slate-200 hover:bg-slate-200 dark:hover:bg-slate-600 active:bg-slate-300 dark:active:bg-slate-500 transition-colors focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-slate-500" jsaction="click:;"> Nuevo cálculo </button></div></div></dialog></average-session-recovery-dialog><!----><div _ngcontent-ng-c4032995172 class="fixed top-4 left-1/2 transform -translate-x-1/2 z-[9999] toast-container" style="display: none;"><div _ngcontent-ng-c4032995172 class="rounded-lg shadow-lg text-white p-4 flex items-center toast-message bg-green-600"><div _ngcontent-ng-c4032995172 class="mr-3 flex-shrink-0"><svg _ngcontent-ng-c4032995172="" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor" class="h-6 w-6"><path _ngcontent-ng-c4032995172="" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M5 13l4 4L19 7"/></svg></div><!----><!----><!----><div _ngcontent-ng-c4032995172 class="flex-1"><!--ngetn--></div><!----><button _ngcontent-ng-c4032995172 aria-label="Zavřít" class="ml-3 text-white/80 hover:text-white focus:outline-none" jsaction="click:;"><svg _ngcontent-ng-c4032995172="" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor" class="h-5 w-5"><path _ngcontent-ng-c4032995172="" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M6 18L18 6M6 6l12 12"/></svg></button></div></div><div _ngcontent-ng-c4032995172 role="status" aria-live="polite" aria-atomic="true" class="sr-only">  </div></div></average-marks-average-weighted-arithmetic-calculator></div></div></div><average-background-gradient position="bottom" _nghost-ng-c3898035239 ngh="10"><div _ngcontent-ng-c3898035239 class="gradient-container hidden md:block dark:hidden dark:md:block"><!----><div _ngcontent-ng-c3898035239 aria-hidden="true" class="absolute pointer-events-none inset-x-0 top-[calc(100%-13rem)] -z-10 transform-gpu overflow-hidden blur-3xl sm:top-[calc(100%-30rem)]"><div _ngcontent-ng-c3898035239 class="relative left-[calc(50%+3rem)] aspect-[1155/678] w-[36.125rem] -translate-x-1/2 bg-gradient-to-tr from-blue-500/25 to-sapphire-blue/35 opacity-30 sm:left-[calc(50%+36rem)] sm:w-[72.1875rem]" style="clip-path: polygon(74.1% 44.1%, 100% 61.6%, 97.5% 26.9%, 85.5% 0.1%, 80.7% 2%, 72.5% 32.5%, 60.2% 62.4%, 52.4% 68.1%, 47.5% 58.3%, 45.2% 34.5%, 27.5% 76.7%, 0.1% 64.9%, 17.9% 100%, 27.6% 76.8%, 76.1% 97.7%, 74.1% 44.1%);"></div></div><!----></div></average-background-gradient></div><average-main id="content" class="web-only" ngh="2"><div class="relative overflow-hidden bg-white px-6 py-12 xs:py-14 sm:py-20 border-t border-t-gray-100 lg:overflow-visible xl:px-0 dark:bg-slate-900 dark:border-t-gray-700"><div class="absolute inset-0 -z-10 overflow-hidden"><svg aria-hidden="true" class="absolute left-[max(50%,25rem)] top-0 h-[64rem] w-[128rem] -translate-x-1/2 stroke-gray-200 [mask-image:radial-gradient(64rem_64rem_at_top,white,transparent)]"><defs><pattern id="e813992c-7d03-4cc4-a2bd-151760b470a0" width="200" height="200" x="50%" y="-1" patternUnits="userSpaceOnUse"><path d="M100 200V.5M.5 .5H200" fill="none"/></pattern></defs><rect width="100%" height="100%" stroke-width="0" fill="url(#e813992c-7d03-4cc4-a2bd-151760b470a0)"/></svg></div><div id="download"><average-download-section _nghost-ng-c902168463 ngh="11"><div _ngcontent-ng-c902168463 class="mx-auto grid grid-cols-1 gap-x-8 gap-y-16 lg:mx-0 lg:max-w-none lg:items-start lg:gap-y-10 dark:bg-slate-900"><div _ngcontent-ng-c902168463 class="lg:col-span-2 lg:col-start-1 lg:row-start-1 lg:mx-auto lg:grid lg:w-full lg:max-w-5xl lg:gap-x-8"><div _ngcontent-ng-c902168463 class="lg:pr-4"><div _ngcontent-ng-c902168463><span _ngcontent-ng-c902168463 class="text-base block font-semibold leading-7 text-sapphire-blue dark:text-gray-400">Calcula mi promedio de notas en cualquier momento – también sin conexión</span><!----><h2 _ngcontent-ng-c902168463 class="mt-1 py-0 font-bold tracking-tight text-slate-900 text-xl sm:text-2xl sm:mt-2 md:text-3xl contrast-more:text-black dark:text-white">¡Descarga la Calculadora de Notas en todos tus dispositivos!</h2><!----><p _ngcontent-ng-c902168463 class="mt-2 text-gray-700 text-base leading-7 sm:mt-4 md:text-lg md:leading-8 lg:mt-6 lg:text-xl lg:leading-8 contrast-more:text-black dark:text-white">Calcula mi promedio de notas (funciona sin conexión): media ponderada, notas con porcentaje. Ideal para ESPOL y UPAO. ¿Cuánto necesito para el final? Con nuestra aplicación 'Promedio', tendrás una calculadora de notas siempre a mano. Descárgala como PWA en cualquier dispositivo. <strong>Funciona sin conexión y ocupa menos espacio que una app tradicional.</strong></p><!----></div><div _ngcontent-ng-c902168463 class="flex flex-wrap items-center gap-1 sm:gap-4 mt-7"><button _ngcontent-ng-c902168463 type="button" class="p-0 border-0 bg-transparent cursor-pointer" aria-label="Descargar para Android" jsaction="click:;"><average-play-store-badge _ngcontent-ng-c902168463 _nghost-ng-c3596424576 ngh="2"><svg _ngcontent-ng-c3596424576="" viewBox="0 0 135 40" xmlns="http://www.w3.org/2000/svg" role="img" class="w-full h-full" aria-label="Descargar para Android"><path _ngcontent-ng-c3596424576="" d="m130.2 40h-125.47a4.74 4.74 0 0 1 -4.73-4.73v-30.54a4.73 4.73 0 0 1 4.73-4.73h125.47a4.8 4.8 0 0 1 4.8 4.73v30.54a4.81 4.81 0 0 1 -4.8 4.73z" fill="#a6a6a6"/><path _ngcontent-ng-c3596424576="" d="m134 35.27a3.83 3.83 0 0 1 -3.83 3.83h-125.44a3.84 3.84 0 0 1 -3.84-3.83v-30.55a3.84 3.84 0 0 1 3.84-3.83h125.47a3.83 3.83 0 0 1 3.8 3.83z"/><g _ngcontent-ng-c3596424576="" fill="#fff"><path _ngcontent-ng-c3596424576="" d="m50.38 29.59a1.43 1.43 0 0 1 0-.22c-.07-.45-.17-.9-.28-1.35a19.13 19.13 0 0 0 -.71-2.26 17.5 17.5 0 0 0 -.86-1.76 16.9 16.9 0 0 0 -1.33-2.16 18.08 18.08 0 0 0 -2-2.36c-.3-.31-.62-.6-1-.88a18.68 18.68 0 0 0 -2.2-1.72c.37-.63.74-1.26 1.1-1.89l1.08-1.86.82-1.37a1.3 1.3 0 0 0 .14-.32 1.68 1.68 0 0 0 0-.94 1.43 1.43 0 0 0 -.08-.22 2 2 0 0 0 -.1-.21 1.79 1.79 0 0 0 -.58-.58 1.64 1.64 0 0 0 -.71-.22h-.31-.26a1.74 1.74 0 0 0 -.81.49 2.16 2.16 0 0 0 -.21.29l-.77 1.33-1.07 1.85-1.1 1.9-.12.21-.17-.07a18.11 18.11 0 0 0 -6.49-1.19h-.19a18.32 18.32 0 0 0 -5.81 1l-.63.23-.11-.19c-.37-.63-.74-1.26-1.1-1.9s-.72-1.23-1.07-1.85l-.78-1.33a1.94 1.94 0 0 0 -.21-.29 1.66 1.66 0 0 0 -.8-.48 1.09 1.09 0 0 0 -.26-.05h-.31a1.64 1.64 0 0 0 -.71.22 1.69 1.69 0 0 0 -.58.58 2 2 0 0 0 -.1.21 1.43 1.43 0 0 0 -.08.22 1.67 1.67 0 0 0 0 .94 1.87 1.87 0 0 0 .15.32l.77 1.34c.36.61.72 1.23 1.07 1.85s.74 1.26 1.1 1.89a18.72 18.72 0 0 0 -2.1 1.52c-.4.34-.78.69-1.15 1.05a18.76 18.76 0 0 0 -2 2.36 16.84 16.84 0 0 0 -1.31 2.28 16.41 16.41 0 0 0 -.82 1.81 17.48 17.48 0 0 0 -.72 2.19c-.11.45-.2.9-.28 1.35v.22c0 .27-.08.54-.1.8h36.25c0-.26-.07-.53-.11-.8z"/></g><path _ngcontent-ng-c3596424576="" d="m41.77 25.38a1.79 1.79 0 0 0 .24-2.5 1.61 1.61 0 1 0 -2.63 1.75 1.8 1.8 0 0 0 2.39.75z" fill="#1d1d1b"/><path _ngcontent-ng-c3596424576="" d="m25.32 24.63a1.8 1.8 0 0 0 -.23-2.5 1.81 1.81 0 0 0 -2.4.75 1.8 1.8 0 0 0 .24 2.5 1.79 1.79 0 0 0 2.39-.75z" fill="#1d1d1b"/><text _ngcontent-ng-c3596424576="" x="57" y="14" fill="#fff" font-family="system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif" font-size="8" font-weight="400"> Descargar para </text><text _ngcontent-ng-c3596424576="" x="57" y="30" fill="#fff" font-family="system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif" font-size="16" font-weight="600"> Android </text></svg></average-play-store-badge></button><!----><!----><button _ngcontent-ng-c902168463 type="button" class="p-0 border-0 bg-transparent cursor-pointer" aria-label="Descargar para iOS y macOS desde App Store" jsaction="click:;"><average-app-store-badge _ngcontent-ng-c902168463 _nghost-ng-c310975312 ngh="2"><svg _ngcontent-ng-c310975312="" viewBox="0 0 135 40" xmlns="http://www.w3.org/2000/svg" role="img" class="w-full h-full" aria-label="Descargar para iOS y macOS desde App Store"><path _ngcontent-ng-c310975312="" d="m130.2 40h-125.47a4.74 4.74 0 0 1 -4.73-4.73v-30.54a4.73 4.73 0 0 1 4.73-4.73h125.47a4.8 4.8 0 0 1 4.8 4.73v30.54a4.81 4.81 0 0 1 -4.8 4.73z" fill="#a6a6a6"/><path _ngcontent-ng-c310975312="" d="m134 35.27a3.83 3.83 0 0 1 -3.83 3.83h-125.44a3.84 3.84 0 0 1 -3.84-3.83v-30.55a3.84 3.84 0 0 1 3.84-3.83h125.47a3.83 3.83 0 0 1 3.8 3.83z"/><g _ngcontent-ng-c310975312="" fill="#fff"><path _ngcontent-ng-c310975312="" d="m30.13 19.78a5.79 5.79 0 0 1 2.76-4.86 6 6 0 0 0 -4.68-2.53c-2-.2-3.87 1.18-4.87 1.18s-2.57-1.16-4.23-1.12a6.22 6.22 0 0 0 -5.24 3.19c-2.27 3.93-.58 9.69 1.59 12.86 1.09 1.55 2.36 3.29 4 3.23s2.23-1 4.19-1 2.51 1 4.21 1 2.84-1.56 3.89-3.13a13 13 0 0 0 1.78-3.62 5.61 5.61 0 0 1 -3.4-5.2z"/><path _ngcontent-ng-c310975312="" d="m26.93 10.31a5.71 5.71 0 0 0 1.3-4.09 5.77 5.77 0 0 0 -3.75 1.94 5.4 5.4 0 0 0 -1.34 3.94 4.83 4.83 0 0 0 3.79-1.79z"/></g><text _ngcontent-ng-c310975312="" x="42" y="14" fill="#fff" font-family="system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif" font-size="8" font-weight="400"> Descargar para </text><text _ngcontent-ng-c310975312="" x="42" y="30" fill="#fff" font-family="system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif" font-size="16" font-weight="600"> Apple </text></svg></average-app-store-badge></button><!----><!----></div><pwa-install _ngcontent-ng-c902168463 manual-apple="true" manifest-url="/manifest.webmanifest" name="Promedio.app" description="Calculadora de notas" install-description="Este sitio funciona como una aplicación (PWA). Añádelo a tu pantalla de inicio para calcular tu promedio de notas rápidamente – incluso sin internet y ocupa menos espacio que una app tradicional." icon="/assets/icons/favicon/192.png"></pwa-install></div></div></div></average-download-section></div><average-divider ngh="2"><div class="block py-10 sm:py-14 md:py-16 lg:py-20"><div class="block w-full max-w-lg border-t border-t-gray-300 mx-auto dark:border-t-gray-700"></div></div></average-divider><div id="regional"><average-promedio-regional-calculators-section ngh="13"><div data-nosnippet><average-content-block ngh="12"><div class="mx-auto grid grid-cols-1 gap-x-8 gap-y-16 lg:mx-0 lg:max-w-none lg:items-start lg:gap-y-10 dark:bg-slate-900"><div class="lg:col-span-2 lg:col-start-1 lg:row-start-1 lg:mx-auto lg:grid lg:w-full lg:max-w-5xl lg:gap-x-8"><div class="lg:pr-4"><div><span class="text-base block font-semibold leading-7 text-sapphire-blue dark:text-gray-400">Sistemas de Calificación</span><!----><h2 class="mt-1 py-0 font-bold tracking-tight text-slate-900 text-xl sm:text-2xl sm:mt-2 md:text-3xl contrast-more:text-black dark:text-white">Calcula Tu Nota Media en España y América Latina</h2><!----><p class="mt-2 text-gray-700 text-base leading-7 sm:mt-4 md:text-lg md:leading-8 lg:mt-6 lg:text-xl lg:leading-8 contrast-more:text-black dark:text-white">Nuestra calculadora funciona con todos los sistemas de calificación. Ya sea media ponderada en España o promedio ponderado en Latinoamérica, calcula tu promedio aquí:</p><!----></div><div class="mt-8 grid grid-cols-1 gap-4 sm:grid-cols-2"><a class="group flex items-center gap-4 rounded-xl border border-gray-200 dark:border-gray-700 bg-white dark:bg-slate-800 p-4 transition-all hover:border-blue-500 dark:hover:border-blue-400 hover:shadow-lg focus:outline-none focus:ring-2 focus:ring-blue-500 dark:focus:ring-blue-400 focus:ring-offset-2 dark:focus:ring-offset-slate-900" href="/calcular-notas-mexico"><div class="flex-shrink-0 w-10 h-7 flex items-center justify-center"><img loading="lazy" class="w-full h-auto rounded-sm shadow-sm" src="/assets/flags/mexico-flag.svg" alt="Notas en México flag"></div><div class="flex-1 min-w-0"><h3 class="text-base font-semibold text-gray-900 dark:text-gray-100 group-hover:text-blue-600 dark:group-hover:text-blue-400 transition-colors"> Notas en México </h3><p class="mt-0.5 text-sm text-gray-500 dark:text-gray-400 line-clamp-1"> Calificaciones en porcentaje (0-100%) </p><!----><span class="mt-1 inline-block text-xs bg-gray-100 dark:bg-slate-700 text-gray-600 dark:text-gray-400 px-2 py-0.5 rounded-full"> 0-100 </span></div><div class="flex-shrink-0"><svg fill="none" viewBox="0 0 24 24" stroke="currentColor" class="h-5 w-5 text-gray-400 transition-all group-hover:text-blue-600 dark:group-hover:text-blue-400 group-hover:translate-x-1"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M9 5l7 7-7 7"/></svg></div></a><a class="group flex items-center gap-4 rounded-xl border border-gray-200 dark:border-gray-700 bg-white dark:bg-slate-800 p-4 transition-all hover:border-blue-500 dark:hover:border-blue-400 hover:shadow-lg focus:outline-none focus:ring-2 focus:ring-blue-500 dark:focus:ring-blue-400 focus:ring-offset-2 dark:focus:ring-offset-slate-900" href="/calcular-notas-espana"><div class="flex-shrink-0 w-10 h-7 flex items-center justify-center"><img loading="lazy" class="w-full h-auto rounded-sm shadow-sm" src="/assets/flags/spain-flag.svg" alt="Notas en España flag"></div><div class="flex-1 min-w-0"><h3 class="text-base font-semibold text-gray-900 dark:text-gray-100 group-hover:text-blue-600 dark:group-hover:text-blue-400 transition-colors"> Notas en España </h3><p class="mt-0.5 text-sm text-gray-500 dark:text-gray-400 line-clamp-1"> Calcula tu nota: bachillerato, ESO, universidad </p><!----><span class="mt-1 inline-block text-xs bg-gray-100 dark:bg-slate-700 text-gray-600 dark:text-gray-400 px-2 py-0.5 rounded-full"> 0-10 </span></div><div class="flex-shrink-0"><svg fill="none" viewBox="0 0 24 24" stroke="currentColor" class="h-5 w-5 text-gray-400 transition-all group-hover:text-blue-600 dark:group-hover:text-blue-400 group-hover:translate-x-1"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M9 5l7 7-7 7"/></svg></div></a><a class="group flex items-center gap-4 rounded-xl border border-gray-200 dark:border-gray-700 bg-white dark:bg-slate-800 p-4 transition-all hover:border-blue-500 dark:hover:border-blue-400 hover:shadow-lg focus:outline-none focus:ring-2 focus:ring-blue-500 dark:focus:ring-blue-400 focus:ring-offset-2 dark:focus:ring-offset-slate-900" href="/calcular-notas-argentina"><div class="flex-shrink-0 w-10 h-7 flex items-center justify-center"><img loading="lazy" class="w-full h-auto rounded-sm shadow-sm" src="/assets/flags/argentina-flag.svg" alt="Notas en Argentina flag"></div><div class="flex-1 min-w-0"><h3 class="text-base font-semibold text-gray-900 dark:text-gray-100 group-hover:text-blue-600 dark:group-hover:text-blue-400 transition-colors"> Notas en Argentina </h3><p class="mt-0.5 text-sm text-gray-500 dark:text-gray-400 line-clamp-1"> Promedio UBA, CBC, promoción directa y secundaria </p><!----><span class="mt-1 inline-block text-xs bg-gray-100 dark:bg-slate-700 text-gray-600 dark:text-gray-400 px-2 py-0.5 rounded-full"> 0-10 </span></div><div class="flex-shrink-0"><svg fill="none" viewBox="0 0 24 24" stroke="currentColor" class="h-5 w-5 text-gray-400 transition-all group-hover:text-blue-600 dark:group-hover:text-blue-400 group-hover:translate-x-1"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M9 5l7 7-7 7"/></svg></div></a><a class="group flex items-center gap-4 rounded-xl border border-gray-200 dark:border-gray-700 bg-white dark:bg-slate-800 p-4 transition-all hover:border-blue-500 dark:hover:border-blue-400 hover:shadow-lg focus:outline-none focus:ring-2 focus:ring-blue-500 dark:focus:ring-blue-400 focus:ring-offset-2 dark:focus:ring-offset-slate-900" href="/calcular-notas-colombia"><div class="flex-shrink-0 w-10 h-7 flex items-center justify-center"><img loading="lazy" class="w-full h-auto rounded-sm shadow-sm" src="/assets/flags/colombia-flag.svg" alt="Notas en Colombia flag"></div><div class="flex-1 min-w-0"><h3 class="text-base font-semibold text-gray-900 dark:text-gray-100 group-hover:text-blue-600 dark:group-hover:text-blue-400 transition-colors"> Notas en Colombia </h3><p class="mt-0.5 text-sm text-gray-500 dark:text-gray-400 line-clamp-1"> PAPA, promedio ponderado (0-5) </p><!----><span class="mt-1 inline-block text-xs bg-gray-100 dark:bg-slate-700 text-gray-600 dark:text-gray-400 px-2 py-0.5 rounded-full"> 0-5 / 0-100 </span></div><div class="flex-shrink-0"><svg fill="none" viewBox="0 0 24 24" stroke="currentColor" class="h-5 w-5 text-gray-400 transition-all group-hover:text-blue-600 dark:group-hover:text-blue-400 group-hover:translate-x-1"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M9 5l7 7-7 7"/></svg></div></a><a class="group flex items-center gap-4 rounded-xl border border-gray-200 dark:border-gray-700 bg-white dark:bg-slate-800 p-4 transition-all hover:border-blue-500 dark:hover:border-blue-400 hover:shadow-lg focus:outline-none focus:ring-2 focus:ring-blue-500 dark:focus:ring-blue-400 focus:ring-offset-2 dark:focus:ring-offset-slate-900" href="/calcular-notas-peru"><div class="flex-shrink-0 w-10 h-7 flex items-center justify-center"><img loading="lazy" class="w-full h-auto rounded-sm shadow-sm" src="/assets/flags/peru-flag.svg" alt="Notas en Perú flag"></div><div class="flex-1 min-w-0"><h3 class="text-base font-semibold text-gray-900 dark:text-gray-100 group-hover:text-blue-600 dark:group-hover:text-blue-400 transition-colors"> Notas en Perú </h3><p class="mt-0.5 text-sm text-gray-500 dark:text-gray-400 line-clamp-1"> UPAO, San Marcos – escala vigesimal </p><!----><span class="mt-1 inline-block text-xs bg-gray-100 dark:bg-slate-700 text-gray-600 dark:text-gray-400 px-2 py-0.5 rounded-full"> 0-20 </span></div><div class="flex-shrink-0"><svg fill="none" viewBox="0 0 24 24" stroke="currentColor" class="h-5 w-5 text-gray-400 transition-all group-hover:text-blue-600 dark:group-hover:text-blue-400 group-hover:translate-x-1"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M9 5l7 7-7 7"/></svg></div></a><a class="group flex items-center gap-4 rounded-xl border border-gray-200 dark:border-gray-700 bg-white dark:bg-slate-800 p-4 transition-all hover:border-blue-500 dark:hover:border-blue-400 hover:shadow-lg focus:outline-none focus:ring-2 focus:ring-blue-500 dark:focus:ring-blue-400 focus:ring-offset-2 dark:focus:ring-offset-slate-900" href="/calcular-notas-chile"><div class="flex-shrink-0 w-10 h-7 flex items-center justify-center"><img loading="lazy" class="w-full h-auto rounded-sm shadow-sm" src="/assets/flags/chile-flag.svg" alt="Notas en Chile flag"></div><div class="flex-1 min-w-0"><h3 class="text-base font-semibold text-gray-900 dark:text-gray-100 group-hover:text-blue-600 dark:group-hover:text-blue-400 transition-colors"> Notas en Chile </h3><p class="mt-0.5 text-sm text-gray-500 dark:text-gray-400 line-clamp-1"> Mi promedio, notas con porcentaje y NEM </p><!----><span class="mt-1 inline-block text-xs bg-gray-100 dark:bg-slate-700 text-gray-600 dark:text-gray-400 px-2 py-0.5 rounded-full"> 1.0-7.0 </span></div><div class="flex-shrink-0"><svg fill="none" viewBox="0 0 24 24" stroke="currentColor" class="h-5 w-5 text-gray-400 transition-all group-hover:text-blue-600 dark:group-hover:text-blue-400 group-hover:translate-x-1"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M9 5l7 7-7 7"/></svg></div></a><a class="group flex items-center gap-4 rounded-xl border border-gray-200 dark:border-gray-700 bg-white dark:bg-slate-800 p-4 transition-all hover:border-blue-500 dark:hover:border-blue-400 hover:shadow-lg focus:outline-none focus:ring-2 focus:ring-blue-500 dark:focus:ring-blue-400 focus:ring-offset-2 dark:focus:ring-offset-slate-900" href="/calcular-notas-venezuela"><div class="flex-shrink-0 w-10 h-7 flex items-center justify-center"><img loading="lazy" class="w-full h-auto rounded-sm shadow-sm" src="/assets/flags/venezuela-flag.svg" alt="Notas en Venezuela flag"></div><div class="flex-1 min-w-0"><h3 class="text-base font-semibold text-gray-900 dark:text-gray-100 group-hover:text-blue-600 dark:group-hover:text-blue-400 transition-colors"> Notas en Venezuela </h3><p class="mt-0.5 text-sm text-gray-500 dark:text-gray-400 line-clamp-1"> UCV, LUZ, OPSU (0-20), USB (1-5) </p><!----><span class="mt-1 inline-block text-xs bg-gray-100 dark:bg-slate-700 text-gray-600 dark:text-gray-400 px-2 py-0.5 rounded-full"> 0-20 / 1-5 </span></div><div class="flex-shrink-0"><svg fill="none" viewBox="0 0 24 24" stroke="currentColor" class="h-5 w-5 text-gray-400 transition-all group-hover:text-blue-600 dark:group-hover:text-blue-400 group-hover:translate-x-1"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M9 5l7 7-7 7"/></svg></div></a><a class="group flex items-center gap-4 rounded-xl border border-gray-200 dark:border-gray-700 bg-white dark:bg-slate-800 p-4 transition-all hover:border-blue-500 dark:hover:border-blue-400 hover:shadow-lg focus:outline-none focus:ring-2 focus:ring-blue-500 dark:focus:ring-blue-400 focus:ring-offset-2 dark:focus:ring-offset-slate-900" href="/calcular-notas-ecuador"><div class="flex-shrink-0 w-10 h-7 flex items-center justify-center"><img loading="lazy" class="w-full h-auto rounded-sm shadow-sm" src="/assets/flags/ecuador-flag.svg" alt="Notas en Ecuador flag"></div><div class="flex-1 min-w-0"><h3 class="text-base font-semibold text-gray-900 dark:text-gray-100 group-hover:text-blue-600 dark:group-hover:text-blue-400 transition-colors"> Notas en Ecuador </h3><p class="mt-0.5 text-sm text-gray-500 dark:text-gray-400 line-clamp-1"> ESPOL, UCE, Registro Nacional (0-10) </p><!----><span class="mt-1 inline-block text-xs bg-gray-100 dark:bg-slate-700 text-gray-600 dark:text-gray-400 px-2 py-0.5 rounded-full"> 0-10 </span></div><div class="flex-shrink-0"><svg fill="none" viewBox="0 0 24 24" stroke="currentColor" class="h-5 w-5 text-gray-400 transition-all group-hover:text-blue-600 dark:group-hover:text-blue-400 group-hover:translate-x-1"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M9 5l7 7-7 7"/></svg></div></a><a class="group flex items-center gap-4 rounded-xl border border-gray-200 dark:border-gray-700 bg-white dark:bg-slate-800 p-4 transition-all hover:border-blue-500 dark:hover:border-blue-400 hover:shadow-lg focus:outline-none focus:ring-2 focus:ring-blue-500 dark:focus:ring-blue-400 focus:ring-offset-2 dark:focus:ring-offset-slate-900" href="/calcular-notas-costa-rica"><div class="flex-shrink-0 w-10 h-7 flex items-center justify-center"><img loading="lazy" class="w-full h-auto rounded-sm shadow-sm" src="/assets/flags/costa-rica-flag.svg" alt="Notas en Costa Rica flag"></div><div class="flex-1 min-w-0"><h3 class="text-base font-semibold text-gray-900 dark:text-gray-100 group-hover:text-blue-600 dark:group-hover:text-blue-400 transition-colors"> Notas en Costa Rica </h3><p class="mt-0.5 text-sm text-gray-500 dark:text-gray-400 line-clamp-1"> UCR, TEC – nota de examen (0-10, 0-100) </p><!----><span class="mt-1 inline-block text-xs bg-gray-100 dark:bg-slate-700 text-gray-600 dark:text-gray-400 px-2 py-0.5 rounded-full"> 0-10 / 0-100 </span></div><div class="flex-shrink-0"><svg fill="none" viewBox="0 0 24 24" stroke="currentColor" class="h-5 w-5 text-gray-400 transition-all group-hover:text-blue-600 dark:group-hover:text-blue-400 group-hover:translate-x-1"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M9 5l7 7-7 7"/></svg></div></a><a class="group flex items-center gap-4 rounded-xl border border-gray-200 dark:border-gray-700 bg-white dark:bg-slate-800 p-4 transition-all hover:border-blue-500 dark:hover:border-blue-400 hover:shadow-lg focus:outline-none focus:ring-2 focus:ring-blue-500 dark:focus:ring-blue-400 focus:ring-offset-2 dark:focus:ring-offset-slate-900" href="/calcular-notas-guatemala"><div class="flex-shrink-0 w-10 h-7 flex items-center justify-center"><img loading="lazy" class="w-full h-auto rounded-sm shadow-sm" src="/assets/flags/guatemala-flag.svg" alt="Notas en Guatemala flag"></div><div class="flex-1 min-w-0"><h3 class="text-base font-semibold text-gray-900 dark:text-gray-100 group-hover:text-blue-600 dark:group-hover:text-blue-400 transition-colors"> Notas en Guatemala </h3><p class="mt-0.5 text-sm text-gray-500 dark:text-gray-400 line-clamp-1"> USAC, Landívar – Zona y examen final (0-100) </p><!----><span class="mt-1 inline-block text-xs bg-gray-100 dark:bg-slate-700 text-gray-600 dark:text-gray-400 px-2 py-0.5 rounded-full"> 0-100 </span></div><div class="flex-shrink-0"><svg fill="none" viewBox="0 0 24 24" stroke="currentColor" class="h-5 w-5 text-gray-400 transition-all group-hover:text-blue-600 dark:group-hover:text-blue-400 group-hover:translate-x-1"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M9 5l7 7-7 7"/></svg></div></a><!----></div><!----></div></div></div></average-content-block></div></average-promedio-regional-calculators-section></div><average-divider ngh="2"><div class="block py-10 sm:py-14 md:py-16 lg:py-20"><div class="block w-full max-w-lg border-t border-t-gray-300 mx-auto dark:border-t-gray-700"></div></div></average-divider><!----><div id="how-weighted"><average-promedio-weighted-average-section ngh="16"><div data-nosnippet><average-content-block ngh="12"><div class="mx-auto grid grid-cols-1 gap-x-8 gap-y-16 lg:mx-0 lg:max-w-none lg:items-start lg:gap-y-10 dark:bg-slate-900"><div class="lg:col-span-2 lg:col-start-1 lg:row-start-1 lg:mx-auto lg:grid lg:w-full lg:max-w-5xl lg:gap-x-8"><div class="lg:pr-4"><div><span class="text-base block font-semibold leading-7 text-sapphire-blue dark:text-gray-400">Calcula tu promedio ponderado online</span><!----><h2 class="mt-1 py-0 font-bold tracking-tight text-slate-900 text-xl sm:text-2xl sm:mt-2 md:text-3xl contrast-more:text-black dark:text-white">¿Cómo calcular el promedio ponderado (media ponderada) con nuestra calculadora?</h2><!----><p class="mt-2 text-gray-700 text-base leading-7 sm:mt-4 md:text-lg md:leading-8 lg:mt-6 lg:text-xl lg:leading-8 contrast-more:text-black dark:text-white">Para calcular el promedio ponderado (también llamado media ponderada), necesitas tus notas y sus pesos correspondientes (créditos, porcentajes o ponderaciones). Nuestra calculadora lo hace fácil! Para un cálculo manual:</p><!----></div><div class="lg:pr-4"><div class="text-base leading-7 text-gray-700 dark:text-gray-300 md:text-lg"><div class="pl-0 sm:pl-6 md:pl-8 lg:pl-14"><average-article-feature-list type="number" color="blue" ngh="14"><!----><ol role="list" class="mt-5 md:mt-6 space-y-4 md:space-y-5 list-none"><li class="flex items-start gap-3"><!----><span class="mt-0.5 inline-flex items-center justify-center w-7 h-7 rounded-full shadow-sm flex-none font-semibold text-sm text-white bg-gradient-to-br from-blue-500 to-blue-700"> 1 </span><!----><!----><!----><span class="text-base md:text-[17px] leading-7 text-gray-900 dark:text-gray-100 antialiased"><!----> Reúne tus notas y sus pesos (créditos ECTS, porcentajes, etc.). <!----></span></li><li class="flex items-start gap-3"><!----><span class="mt-0.5 inline-flex items-center justify-center w-7 h-7 rounded-full shadow-sm flex-none font-semibold text-sm text-white bg-gradient-to-br from-blue-500 to-blue-700"> 2 </span><!----><!----><!----><span class="text-base md:text-[17px] leading-7 text-gray-900 dark:text-gray-100 antialiased"><!----> Multiplica cada nota por su peso correspondiente. <!----></span></li><li class="flex items-start gap-3"><!----><span class="mt-0.5 inline-flex items-center justify-center w-7 h-7 rounded-full shadow-sm flex-none font-semibold text-sm text-white bg-gradient-to-br from-blue-500 to-blue-700"> 3 </span><!----><!----><!----><span class="text-base md:text-[17px] leading-7 text-gray-900 dark:text-gray-100 antialiased"><!----> Suma todos los productos resultantes. <!----></span></li><li class="flex items-start gap-3"><!----><span class="mt-0.5 inline-flex items-center justify-center w-7 h-7 rounded-full shadow-sm flex-none font-semibold text-sm text-white bg-gradient-to-br from-blue-500 to-blue-700"> 4 </span><!----><!----><!----><span class="text-base md:text-[17px] leading-7 text-gray-900 dark:text-gray-100 antialiased"><!----> Suma todos los pesos (créditos o porcentajes). <!----></span></li><li class="flex items-start gap-3"><!----><span class="mt-0.5 inline-flex items-center justify-center w-7 h-7 rounded-full shadow-sm flex-none font-semibold text-sm text-white bg-gradient-to-br from-blue-500 to-blue-700"> 5 </span><!----><!----><!----><span class="text-base md:text-[17px] leading-7 text-gray-900 dark:text-gray-100 antialiased"><!----> Divide la suma de productos por la suma de pesos para obtener la media ponderada. <!----></span></li><!----><!----></ol><!----><!----></average-article-feature-list></div><h3 class="mt-10 font-semibold tracking-tight text-slate-900 dark:text-slate-100 text-lg sm:text-xl md:text-2xl"> Fórmula del promedio ponderado (media ponderada) </h3><average-article-blockquote color="blue" ngh="15"><figure class="my-6 md:my-8"><div class="relative pl-5 md:pl-6 py-4 pr-4 rounded-r-xl bg-gradient-to-r from-blue-50/80 to-transparent dark:from-blue-950/20 dark:to-transparent"><div class="absolute left-0 top-0 bottom-0 w-1 rounded-full bg-gradient-to-b from-blue-600 to-blue-400 dark:from-blue-400 dark:to-blue-300"></div><!----><p class="text-base md:text-[17px] leading-7 md:leading-8 font-medium italic text-gray-900 dark:text-gray-100 antialiased"><span>Media ponderada = (nota1 × créditos1 + nota2 × créditos2 + ...) / (créditos1 + créditos2 + ...).<br class="hidden md:block">Por ejemplo: (8 × 6 créditos + 7 × 4 créditos) / (6 + 4) = 7.6</span></p><!----></div></figure></average-article-blockquote></div></div><!----></div></div></div></average-content-block></div></average-promedio-weighted-average-section></div><average-divider ngh="2"><div class="block py-10 sm:py-14 md:py-16 lg:py-20"><div class="block w-full max-w-lg border-t border-t-gray-300 mx-auto dark:border-t-gray-700"></div></div></average-divider><div id="how-arithmetic"><average-promedio-arithmetic-average-section ngh="16"><div data-nosnippet><average-content-block ngh="12"><div class="mx-auto grid grid-cols-1 gap-x-8 gap-y-16 lg:mx-0 lg:max-w-none lg:items-start lg:gap-y-10 dark:bg-slate-900"><div class="lg:col-span-2 lg:col-start-1 lg:row-start-1 lg:mx-auto lg:grid lg:w-full lg:max-w-5xl lg:gap-x-8"><div class="lg:pr-4"><div><span class="text-base block font-semibold leading-7 text-sapphire-blue dark:text-gray-400">Calcula tu media aritmética online</span><!----><h2 class="mt-1 py-0 font-bold tracking-tight text-slate-900 text-xl sm:text-2xl sm:mt-2 md:text-3xl contrast-more:text-black dark:text-white">¿Cómo calcular la media aritmética con nuestra calculadora?</h2><!----><p class="mt-2 text-gray-700 text-base leading-7 sm:mt-4 md:text-lg md:leading-8 lg:mt-6 lg:text-xl lg:leading-8 contrast-more:text-black dark:text-white">La media aritmética (también llamada promedio simple) es ideal cuando todas tus notas tienen el mismo peso. Sigue estos pasos:</p><!----></div><div class="lg:pr-4"><div class="text-base leading-7 text-gray-700 dark:text-gray-300 md:text-lg"><div class="pl-0 sm:pl-6 md:pl-8 lg:pl-14"><average-article-feature-list type="number" color="blue" ngh="17"><!----><ol role="list" class="mt-5 md:mt-6 space-y-4 md:space-y-5 list-none"><li class="flex items-start gap-3"><!----><span class="mt-0.5 inline-flex items-center justify-center w-7 h-7 rounded-full shadow-sm flex-none font-semibold text-sm text-white bg-gradient-to-br from-blue-500 to-blue-700"> 1 </span><!----><!----><!----><span class="text-base md:text-[17px] leading-7 text-gray-900 dark:text-gray-100 antialiased"><!----> Suma todas tus notas o calificaciones. <!----></span></li><li class="flex items-start gap-3"><!----><span class="mt-0.5 inline-flex items-center justify-center w-7 h-7 rounded-full shadow-sm flex-none font-semibold text-sm text-white bg-gradient-to-br from-blue-500 to-blue-700"> 2 </span><!----><!----><!----><span class="text-base md:text-[17px] leading-7 text-gray-900 dark:text-gray-100 antialiased"><!----> Cuenta el número total de notas. <!----></span></li><li class="flex items-start gap-3"><!----><span class="mt-0.5 inline-flex items-center justify-center w-7 h-7 rounded-full shadow-sm flex-none font-semibold text-sm text-white bg-gradient-to-br from-blue-500 to-blue-700"> 3 </span><!----><!----><!----><span class="text-base md:text-[17px] leading-7 text-gray-900 dark:text-gray-100 antialiased"><!----> Divide la suma por el número de notas. <!----></span></li><!----><!----></ol><!----><!----></average-article-feature-list></div><h3 class="mt-10 font-semibold tracking-tight text-slate-900 dark:text-slate-100 text-lg sm:text-xl md:text-2xl"> Fórmula de la media aritmética </h3><average-article-blockquote color="blue" ngh="15"><figure class="my-6 md:my-8"><div class="relative pl-5 md:pl-6 py-4 pr-4 rounded-r-xl bg-gradient-to-r from-blue-50/80 to-transparent dark:from-blue-950/20 dark:to-transparent"><div class="absolute left-0 top-0 bottom-0 w-1 rounded-full bg-gradient-to-b from-blue-600 to-blue-400 dark:from-blue-400 dark:to-blue-300"></div><!----><p class="text-base md:text-[17px] leading-7 md:leading-8 font-medium italic text-gray-900 dark:text-gray-100 antialiased"><span>Media = (nota1 + nota2 + nota3 + ...) / N.<br class="hidden md:block">Por ejemplo: (8 + 7 + 9 + 6) / 4 = 7.5</span></p><!----></div></figure></average-article-blockquote></div></div><!----></div></div></div></average-content-block></div></average-promedio-arithmetic-average-section></div><average-divider ngh="2"><div class="block py-10 sm:py-14 md:py-16 lg:py-20"><div class="block w-full max-w-lg border-t border-t-gray-300 mx-auto dark:border-t-gray-700"></div></div></average-divider><div id="articles"><average-promedio-articles-section ngh="18"><div data-nosnippet><average-content-block ngh="12"><div class="mx-auto grid grid-cols-1 gap-x-8 gap-y-16 lg:mx-0 lg:max-w-none lg:items-start lg:gap-y-10 dark:bg-slate-900"><div class="lg:col-span-2 lg:col-start-1 lg:row-start-1 lg:mx-auto lg:grid lg:w-full lg:max-w-5xl lg:gap-x-8"><div class="lg:pr-4"><div><span class="text-base block font-semibold leading-7 text-sapphire-blue dark:text-gray-400">Guías y Tutoriales</span><!----><h2 class="mt-1 py-0 font-bold tracking-tight text-slate-900 text-xl sm:text-2xl sm:mt-2 md:text-3xl contrast-more:text-black dark:text-white">¿Cómo calcular tu promedio? Guías paso a paso</h2><!----><p class="mt-2 text-gray-700 text-base leading-7 sm:mt-4 md:text-lg md:leading-8 lg:mt-6 lg:text-xl lg:leading-8 contrast-more:text-black dark:text-white">Aprende a calcular tu media ponderada, promedio de notas y GPA con nuestras guías detalladas para estudiantes de España y Latinoamérica.</p><!----></div><div class="mt-8 grid grid-cols-1 gap-4 sm:grid-cols-2 lg:grid-cols-3"><a class="group relative flex items-start gap-4 rounded-lg border border-gray-200 dark:border-gray-700 bg-white dark:bg-slate-800 p-4 transition-all hover:border-blue-500 dark:hover:border-blue-400 focus:border-blue-500 dark:focus:border-blue-400 hover:shadow-md focus:outline-none focus:ring-2 focus:ring-blue-500 dark:focus:ring-blue-400 focus:ring-offset-2 dark:focus:ring-offset-slate-900" href="/simulador-de-promedio"><div class="flex-shrink-0 mt-1"><div class="flex h-10 w-10 items-center justify-center rounded-lg bg-blue-50 dark:bg-blue-900/30 text-blue-600 dark:text-blue-400 transition-colors group-hover:bg-blue-100 dark:group-hover:bg-blue-900/50 group-focus:bg-blue-100 dark:group-focus:bg-blue-900/50"><span class="text-xl">🎯</span></div></div><div class="flex-1 min-w-0"><h3 class="text-sm font-semibold text-gray-900 dark:text-gray-100 group-hover:text-blue-600 dark:group-hover:text-blue-400 group-focus:text-blue-600 dark:group-focus:text-blue-400 transition-colors"> Simulador de promedio: Predice tu nota futura </h3></div><div class="flex-shrink-0"><svg fill="none" viewBox="0 0 24 24" stroke="currentColor" class="h-5 w-5 text-gray-400 transition-all group-hover:text-blue-600 dark:group-hover:text-blue-400 group-focus:text-blue-600 dark:group-focus:text-blue-400 group-hover:translate-x-1 group-focus:translate-x-1"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M9 5l7 7-7 7"/></svg></div></a><a class="group relative flex items-start gap-4 rounded-lg border border-gray-200 dark:border-gray-700 bg-white dark:bg-slate-800 p-4 transition-all hover:border-blue-500 dark:hover:border-blue-400 focus:border-blue-500 dark:focus:border-blue-400 hover:shadow-md focus:outline-none focus:ring-2 focus:ring-blue-500 dark:focus:ring-blue-400 focus:ring-offset-2 dark:focus:ring-offset-slate-900" href="/promedio-acumulado"><div class="flex-shrink-0 mt-1"><div class="flex h-10 w-10 items-center justify-center rounded-lg bg-blue-50 dark:bg-blue-900/30 text-blue-600 dark:text-blue-400 transition-colors group-hover:bg-blue-100 dark:group-hover:bg-blue-900/50 group-focus:bg-blue-100 dark:group-focus:bg-blue-900/50"><span class="text-xl">📚</span></div></div><div class="flex-1 min-w-0"><h3 class="text-sm font-semibold text-gray-900 dark:text-gray-100 group-hover:text-blue-600 dark:group-hover:text-blue-400 group-focus:text-blue-600 dark:group-focus:text-blue-400 transition-colors"> Cómo calcular el promedio acumulado </h3></div><div class="flex-shrink-0"><svg fill="none" viewBox="0 0 24 24" stroke="currentColor" class="h-5 w-5 text-gray-400 transition-all group-hover:text-blue-600 dark:group-hover:text-blue-400 group-focus:text-blue-600 dark:group-focus:text-blue-400 group-hover:translate-x-1 group-focus:translate-x-1"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M9 5l7 7-7 7"/></svg></div></a><a class="group relative flex items-start gap-4 rounded-lg border border-gray-200 dark:border-gray-700 bg-white dark:bg-slate-800 p-4 transition-all hover:border-blue-500 dark:hover:border-blue-400 focus:border-blue-500 dark:focus:border-blue-400 hover:shadow-md focus:outline-none focus:ring-2 focus:ring-blue-500 dark:focus:ring-blue-400 focus:ring-offset-2 dark:focus:ring-offset-slate-900" href="/promedio-ponderado-creditos"><div class="flex-shrink-0 mt-1"><div class="flex h-10 w-10 items-center justify-center rounded-lg bg-blue-50 dark:bg-blue-900/30 text-blue-600 dark:text-blue-400 transition-colors group-hover:bg-blue-100 dark:group-hover:bg-blue-900/50 group-focus:bg-blue-100 dark:group-focus:bg-blue-900/50"><span class="text-xl">🎓</span></div></div><div class="flex-1 min-w-0"><h3 class="text-sm font-semibold text-gray-900 dark:text-gray-100 group-hover:text-blue-600 dark:group-hover:text-blue-400 group-focus:text-blue-600 dark:group-focus:text-blue-400 transition-colors"> Promedio ponderado por créditos universitarios </h3></div><div class="flex-shrink-0"><svg fill="none" viewBox="0 0 24 24" stroke="currentColor" class="h-5 w-5 text-gray-400 transition-all group-hover:text-blue-600 dark:group-hover:text-blue-400 group-focus:text-blue-600 dark:group-focus:text-blue-400 group-hover:translate-x-1 group-focus:translate-x-1"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M9 5l7 7-7 7"/></svg></div></a><a class="group relative flex items-start gap-4 rounded-lg border border-gray-200 dark:border-gray-700 bg-white dark:bg-slate-800 p-4 transition-all hover:border-blue-500 dark:hover:border-blue-400 focus:border-blue-500 dark:focus:border-blue-400 hover:shadow-md focus:outline-none focus:ring-2 focus:ring-blue-500 dark:focus:ring-blue-400 focus:ring-offset-2 dark:focus:ring-offset-slate-900" href="/que-es-promedio-ponderado"><div class="flex-shrink-0 mt-1"><div class="flex h-10 w-10 items-center justify-center rounded-lg bg-blue-50 dark:bg-blue-900/30 text-blue-600 dark:text-blue-400 transition-colors group-hover:bg-blue-100 dark:group-hover:bg-blue-900/50 group-focus:bg-blue-100 dark:group-focus:bg-blue-900/50"><span class="text-xl">📊</span></div></div><div class="flex-1 min-w-0"><h3 class="text-sm font-semibold text-gray-900 dark:text-gray-100 group-hover:text-blue-600 dark:group-hover:text-blue-400 group-focus:text-blue-600 dark:group-focus:text-blue-400 transition-colors"> Qué es el promedio ponderado y cómo calcularlo </h3></div><div class="flex-shrink-0"><svg fill="none" viewBox="0 0 24 24" stroke="currentColor" class="h-5 w-5 text-gray-400 transition-all group-hover:text-blue-600 dark:group-hover:text-blue-400 group-focus:text-blue-600 dark:group-focus:text-blue-400 group-hover:translate-x-1 group-focus:translate-x-1"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M9 5l7 7-7 7"/></svg></div></a><a class="group relative flex items-start gap-4 rounded-lg border border-gray-200 dark:border-gray-700 bg-white dark:bg-slate-800 p-4 transition-all hover:border-blue-500 dark:hover:border-blue-400 focus:border-blue-500 dark:focus:border-blue-400 hover:shadow-md focus:outline-none focus:ring-2 focus:ring-blue-500 dark:focus:ring-blue-400 focus:ring-offset-2 dark:focus:ring-offset-slate-900" href="/promedio-simple-vs-ponderado"><div class="flex-shrink-0 mt-1"><div class="flex h-10 w-10 items-center justify-center rounded-lg bg-blue-50 dark:bg-blue-900/30 text-blue-600 dark:text-blue-400 transition-colors group-hover:bg-blue-100 dark:group-hover:bg-blue-900/50 group-focus:bg-blue-100 dark:group-focus:bg-blue-900/50"><span class="text-xl">⚖️</span></div></div><div class="flex-1 min-w-0"><h3 class="text-sm font-semibold text-gray-900 dark:text-gray-100 group-hover:text-blue-600 dark:group-hover:text-blue-400 group-focus:text-blue-600 dark:group-focus:text-blue-400 transition-colors"> Diferencia entre promedio simple y ponderado </h3></div><div class="flex-shrink-0"><svg fill="none" viewBox="0 0 24 24" stroke="currentColor" class="h-5 w-5 text-gray-400 transition-all group-hover:text-blue-600 dark:group-hover:text-blue-400 group-focus:text-blue-600 dark:group-focus:text-blue-400 group-hover:translate-x-1 group-focus:translate-x-1"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M9 5l7 7-7 7"/></svg></div></a><a class="group relative flex items-start gap-4 rounded-lg border border-gray-200 dark:border-gray-700 bg-white dark:bg-slate-800 p-4 transition-all hover:border-blue-500 dark:hover:border-blue-400 focus:border-blue-500 dark:focus:border-blue-400 hover:shadow-md focus:outline-none focus:ring-2 focus:ring-blue-500 dark:focus:ring-blue-400 focus:ring-offset-2 dark:focus:ring-offset-slate-900" href="/promedio-ponderado-excel"><div class="flex-shrink-0 mt-1"><div class="flex h-10 w-10 items-center justify-center rounded-lg bg-blue-50 dark:bg-blue-900/30 text-blue-600 dark:text-blue-400 transition-colors group-hover:bg-blue-100 dark:group-hover:bg-blue-900/50 group-focus:bg-blue-100 dark:group-focus:bg-blue-900/50"><span class="text-xl">📈</span></div></div><div class="flex-1 min-w-0"><h3 class="text-sm font-semibold text-gray-900 dark:text-gray-100 group-hover:text-blue-600 dark:group-hover:text-blue-400 group-focus:text-blue-600 dark:group-focus:text-blue-400 transition-colors"> Cómo calcular el promedio ponderado en Excel </h3></div><div class="flex-shrink-0"><svg fill="none" viewBox="0 0 24 24" stroke="currentColor" class="h-5 w-5 text-gray-400 transition-all group-hover:text-blue-600 dark:group-hover:text-blue-400 group-focus:text-blue-600 dark:group-focus:text-blue-400 group-hover:translate-x-1 group-focus:translate-x-1"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M9 5l7 7-7 7"/></svg></div></a><a class="group relative flex items-start gap-4 rounded-lg border border-gray-200 dark:border-gray-700 bg-white dark:bg-slate-800 p-4 transition-all hover:border-blue-500 dark:hover:border-blue-400 focus:border-blue-500 dark:focus:border-blue-400 hover:shadow-md focus:outline-none focus:ring-2 focus:ring-blue-500 dark:focus:ring-blue-400 focus:ring-offset-2 dark:focus:ring-offset-slate-900" href="/calcular-nota-examen"><div class="flex-shrink-0 mt-1"><div class="flex h-10 w-10 items-center justify-center rounded-lg bg-blue-50 dark:bg-blue-900/30 text-blue-600 dark:text-blue-400 transition-colors group-hover:bg-blue-100 dark:group-hover:bg-blue-900/50 group-focus:bg-blue-100 dark:group-focus:bg-blue-900/50"><span class="text-xl">📝</span></div></div><div class="flex-1 min-w-0"><h3 class="text-sm font-semibold text-gray-900 dark:text-gray-100 group-hover:text-blue-600 dark:group-hover:text-blue-400 group-focus:text-blue-600 dark:group-focus:text-blue-400 transition-colors"> Cómo calcular la nota de un examen </h3></div><div class="flex-shrink-0"><svg fill="none" viewBox="0 0 24 24" stroke="currentColor" class="h-5 w-5 text-gray-400 transition-all group-hover:text-blue-600 dark:group-hover:text-blue-400 group-focus:text-blue-600 dark:group-focus:text-blue-400 group-hover:translate-x-1 group-focus:translate-x-1"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M9 5l7 7-7 7"/></svg></div></a><a class="group relative flex items-start gap-4 rounded-lg border border-gray-200 dark:border-gray-700 bg-white dark:bg-slate-800 p-4 transition-all hover:border-blue-500 dark:hover:border-blue-400 focus:border-blue-500 dark:focus:border-blue-400 hover:shadow-md focus:outline-none focus:ring-2 focus:ring-blue-500 dark:focus:ring-blue-400 focus:ring-offset-2 dark:focus:ring-offset-slate-900" href="/simbolo-diametro"><div class="flex-shrink-0 mt-1"><div class="flex h-10 w-10 items-center justify-center rounded-lg bg-blue-50 dark:bg-blue-900/30 text-blue-600 dark:text-blue-400 transition-colors group-hover:bg-blue-100 dark:group-hover:bg-blue-900/50 group-focus:bg-blue-100 dark:group-focus:bg-blue-900/50"><span class="text-xl">Ø</span></div></div><div class="flex-1 min-w-0"><h3 class="text-sm font-semibold text-gray-900 dark:text-gray-100 group-hover:text-blue-600 dark:group-hover:text-blue-400 group-focus:text-blue-600 dark:group-focus:text-blue-400 transition-colors"> Cómo escribir el símbolo de diámetro Ø </h3></div><div class="flex-shrink-0"><svg fill="none" viewBox="0 0 24 24" stroke="currentColor" class="h-5 w-5 text-gray-400 transition-all group-hover:text-blue-600 dark:group-hover:text-blue-400 group-focus:text-blue-600 dark:group-focus:text-blue-400 group-hover:translate-x-1 group-focus:translate-x-1"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M9 5l7 7-7 7"/></svg></div></a><!----></div><!----></div></div></div></average-content-block></div></average-promedio-articles-section></div><average-divider ngh="2"><div class="block py-10 sm:py-14 md:py-16 lg:py-20"><div class="block w-full max-w-lg border-t border-t-gray-300 mx-auto dark:border-t-gray-700"></div></div></average-divider><!----><div id="wikipedia"><average-promedio-wikipedia-section ngh="2"><div data-nosnippet><average-content-block target="_blank" ngh="19"><div class="mx-auto grid grid-cols-1 gap-x-8 gap-y-16 lg:mx-0 lg:max-w-none lg:items-start lg:gap-y-10 dark:bg-slate-900"><div class="lg:col-span-2 lg:col-start-1 lg:row-start-1 lg:mx-auto lg:grid lg:w-full lg:max-w-5xl lg:gap-x-8"><div class="lg:pr-4"><div><span class="text-base block font-semibold leading-7 text-sapphire-blue dark:text-gray-400">¿Por qué usar la media ponderada?</span><!----><h2 class="mt-1 py-0 font-bold tracking-tight text-slate-900 text-xl sm:text-2xl sm:mt-2 md:text-3xl contrast-more:text-black dark:text-white">El promedio ponderado (media ponderada) en tu vida académica</h2><!----><p class="mt-2 text-gray-700 text-base leading-7 sm:mt-4 md:text-lg md:leading-8 lg:mt-6 lg:text-xl lg:leading-8 contrast-more:text-black dark:text-white">En universidades y colegios de España y América Latina, la media ponderada es fundamental para calcular tu expediente académico. Las materias con más créditos ECTS o mayor porcentaje tienen más peso en tu nota final. Por ejemplo: un examen final del 50% afecta más tu promedio que un parcial del 20%. Esta calculadora te ayuda a proyectar tu nota media para becas, intercambios, másteres o simplemente saber cuánto necesitas sacar en el final para aprobar.</p><!----></div><p class="mt-3 text-base leading-6 text-gray-700 dark:text-white sm:mt-4 md:mt-6"><a class="inline underline underline-offset-4 hover:text-blue-600 dark:hover:text-blue-400 contrast-more:text-black" href="https://es.wikipedia.org/wiki/Media_ponderada" target="_blank">Más sobre la media ponderada en Wikipedia →</a></p><!----></div></div></div></average-content-block></div></average-promedio-wikipedia-section></div><average-divider ngh="2"><div class="block py-10 sm:py-14 md:py-16 lg:py-20"><div class="block w-full max-w-lg border-t border-t-gray-300 mx-auto dark:border-t-gray-700"></div></div></average-divider><div id="calculators"><average-promedio-more-calculators-section ngh="20"><div data-nosnippet><average-content-block ngh="12"><div class="mx-auto grid grid-cols-1 gap-x-8 gap-y-16 lg:mx-0 lg:max-w-none lg:items-start lg:gap-y-10 dark:bg-slate-900"><div class="lg:col-span-2 lg:col-start-1 lg:row-start-1 lg:mx-auto lg:grid lg:w-full lg:max-w-5xl lg:gap-x-8"><div class="lg:pr-4"><div><span class="text-base block font-semibold leading-7 text-sapphire-blue dark:text-gray-400">Herramientas para estudiantes</span><!----><h2 class="mt-1 py-0 font-bold tracking-tight text-slate-900 text-xl sm:text-2xl sm:mt-2 md:text-3xl contrast-more:text-black dark:text-white">Más Calculadoras de Notas</h2><!----><p class="mt-2 text-gray-700 text-base leading-7 sm:mt-4 md:text-lg md:leading-8 lg:mt-6 lg:text-xl lg:leading-8 contrast-more:text-black dark:text-white">Explora nuestras calculadoras especializadas: media ponderada, media aritmética, mediana y cálculo de GPA (escala 4.0) para estudiar en EE.UU.</p><!----></div><div class="mt-8 grid grid-cols-2 gap-4 sm:grid-cols-3 lg:grid-cols-4"><!----><a class="group relative flex flex-col items-center gap-2 rounded-xl border border-gray-200 dark:border-gray-700 bg-white dark:bg-slate-800 p-4 transition-all hover:border-blue-500 dark:hover:border-blue-400 hover:shadow-lg focus:outline-none focus:ring-2 focus:ring-blue-500 dark:focus:ring-blue-400 focus:ring-offset-2 dark:focus:ring-offset-slate-900" href="/"><div class="flex h-12 w-12 items-center justify-center rounded-full bg-blue-50 dark:bg-blue-900/30 text-blue-600 dark:text-blue-400 transition-colors group-hover:bg-blue-100 dark:group-hover:bg-blue-900/50"><span class="text-2xl">📝</span></div><h3 class="text-sm font-medium text-gray-900 dark:text-gray-100 group-hover:text-blue-600 dark:group-hover:text-blue-400 transition-colors text-center"> Calculadora de Notas </h3></a><!----><!----><a class="group relative flex flex-col items-center gap-2 rounded-xl border border-gray-200 dark:border-gray-700 bg-white dark:bg-slate-800 p-4 transition-all hover:border-blue-500 dark:hover:border-blue-400 hover:shadow-lg focus:outline-none focus:ring-2 focus:ring-blue-500 dark:focus:ring-blue-400 focus:ring-offset-2 dark:focus:ring-offset-slate-900" href="/calculadora-promedio-ponderado"><div class="flex h-12 w-12 items-center justify-center rounded-full bg-blue-50 dark:bg-blue-900/30 text-blue-600 dark:text-blue-400 transition-colors group-hover:bg-blue-100 dark:group-hover:bg-blue-900/50"><span class="text-2xl">⚖️</span></div><h3 class="text-sm font-medium text-gray-900 dark:text-gray-100 group-hover:text-blue-600 dark:group-hover:text-blue-400 transition-colors text-center"> Promedio Ponderado </h3></a><!----><!----><a class="group relative flex flex-col items-center gap-2 rounded-xl border border-gray-200 dark:border-gray-700 bg-white dark:bg-slate-800 p-4 transition-all hover:border-blue-500 dark:hover:border-blue-400 hover:shadow-lg focus:outline-none focus:ring-2 focus:ring-blue-500 dark:focus:ring-blue-400 focus:ring-offset-2 dark:focus:ring-offset-slate-900" href="/media-aritmetica"><div class="flex h-12 w-12 items-center justify-center rounded-full bg-blue-50 dark:bg-blue-900/30 text-blue-600 dark:text-blue-400 transition-colors group-hover:bg-blue-100 dark:group-hover:bg-blue-900/50"><span class="text-2xl">➗</span></div><h3 class="text-sm font-medium text-gray-900 dark:text-gray-100 group-hover:text-blue-600 dark:group-hover:text-blue-400 transition-colors text-center"> Media Aritmética </h3></a><!----><!----><a class="group relative flex flex-col items-center gap-2 rounded-xl border border-gray-200 dark:border-gray-700 bg-white dark:bg-slate-800 p-4 transition-all hover:border-blue-500 dark:hover:border-blue-400 hover:shadow-lg focus:outline-none focus:ring-2 focus:ring-blue-500 dark:focus:ring-blue-400 focus:ring-offset-2 dark:focus:ring-offset-slate-900" href="/mediana"><div class="flex h-12 w-12 items-center justify-center rounded-full bg-blue-50 dark:bg-blue-900/30 text-blue-600 dark:text-blue-400 transition-colors group-hover:bg-blue-100 dark:group-hover:bg-blue-900/50"><span class="text-2xl">📊</span></div><h3 class="text-sm font-medium text-gray-900 dark:text-gray-100 group-hover:text-blue-600 dark:group-hover:text-blue-400 transition-colors text-center"> Mediana </h3></a><!----><!----><a class="group relative flex flex-col items-center gap-2 rounded-xl border border-gray-200 dark:border-gray-700 bg-white dark:bg-slate-800 p-4 transition-all hover:border-blue-500 dark:hover:border-blue-400 hover:shadow-lg focus:outline-none focus:ring-2 focus:ring-blue-500 dark:focus:ring-blue-400 focus:ring-offset-2 dark:focus:ring-offset-slate-900" href="/mediana-ponderada"><div class="flex h-12 w-12 items-center justify-center rounded-full bg-blue-50 dark:bg-blue-900/30 text-blue-600 dark:text-blue-400 transition-colors group-hover:bg-blue-100 dark:group-hover:bg-blue-900/50"><span class="text-2xl">📈</span></div><h3 class="text-sm font-medium text-gray-900 dark:text-gray-100 group-hover:text-blue-600 dark:group-hover:text-blue-400 transition-colors text-center"> Mediana Ponderada </h3></a><!----><!----><a class="group relative flex flex-col items-center gap-2 rounded-xl border border-gray-200 dark:border-gray-700 bg-white dark:bg-slate-800 p-4 transition-all hover:border-blue-500 dark:hover:border-blue-400 hover:shadow-lg focus:outline-none focus:ring-2 focus:ring-blue-500 dark:focus:ring-blue-400 focus:ring-offset-2 dark:focus:ring-offset-slate-900" href="/gpa"><div class="flex h-12 w-12 items-center justify-center rounded-full bg-blue-50 dark:bg-blue-900/30 text-blue-600 dark:text-blue-400 transition-colors group-hover:bg-blue-100 dark:group-hover:bg-blue-900/50"><span class="text-2xl">🇺🇸</span></div><h3 class="text-sm font-medium text-gray-900 dark:text-gray-100 group-hover:text-blue-600 dark:group-hover:text-blue-400 transition-colors text-center"> GPA (USA) </h3></a><!----><!----></div><!----></div></div></div></average-content-block></div></average-promedio-more-calculators-section></div><!----></div></average-main><!----></average-promedio-home-page></main></average-calculator-layout></average-root><!----></div><average-footer _ngcontent-ng-c2881057923 currentmarketid="promedio" _nghost-ng-c3911900635 ngh="24"><footer _ngcontent-ng-c3911900635 class="py-6 md:py-8 px-4"><div _ngcontent-ng-c3911900635 class="pill mx-auto w-fit flex items-center justify-center gap-2 sm:gap-3 px-4 sm:px-5 py-2.5 sm:py-3 backdrop-blur-sm rounded-full"><a _ngcontent-ng-c3911900635 class="flex items-center gap-1.5 shrink-0 rounded px-1 -mx-1 text-gray-600 hover:text-sapphire-blue dark:text-gray-400 dark:hover:text-white transition-colors focus:outline-none focus-visible:ring-2 focus-visible:ring-sapphire-blue" href="/" aria-label="Ir a la página principal" title="Ir a la página principal"><svg _ngcontent-ng-c3911900635="" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 69.66 37.79" aria-hidden="true" class="w-5 h-auto"><path _ngcontent-ng-c3911900635="" fill="currentColor" d="M81.72,49.78a5.22,5.22,0,0,0-4.79.08L65.46,39.41a5.22,5.22,0,1,0-9.33.59L39.23,59.84A5.21,5.21,0,0,0,33.73,61l-8.35-4.14A5.23,5.23,0,1,0,23.83,60l8.35,4.14a5.22,5.22,0,1,0,9.7-2l16.9-19.84A5.19,5.19,0,0,0,63.11,42L74.59,52.44a5.22,5.22,0,1,0,7.13-2.66ZM78.62,56a1.74,1.74,0,0,1,1.55-3.12A1.74,1.74,0,1,1,78.62,56ZM59.87,38.94a1.74,1.74,0,1,1,2.34-.79A1.75,1.75,0,0,1,59.87,38.94ZM36.58,66.28a1.74,1.74,0,1,1,2.34-.79A1.75,1.75,0,0,1,36.58,66.28ZM21.75,57a1.74,1.74,0,0,1-2.33.79A1.74,1.74,0,1,1,21,54.64,1.73,1.73,0,0,1,21.75,57Z" transform="translate(-14.97 -32.15)"/><circle _ngcontent-ng-c3911900635="" fill="currentColor" cx="15.35" cy="23.24" r="1.74"/><circle _ngcontent-ng-c3911900635="" fill="currentColor" cx="23.14" cy="23.21" r="1.74"/><circle _ngcontent-ng-c3911900635="" fill="currentColor" cx="38.72" cy="23.17" r="1.74"/><circle _ngcontent-ng-c3911900635="" fill="currentColor" cx="46.51" cy="23.14" r="1.74"/><circle _ngcontent-ng-c3911900635="" fill="currentColor" cx="54.3" cy="23.12" r="1.74"/></svg><span _ngcontent-ng-c3911900635 class="hidden sm:inline text-xs sm:text-sm font-medium">Promedio.app</span></a><div _ngcontent-ng-c3911900635 aria-hidden="true" class="w-px h-4 bg-gray-300 dark:bg-slate-600"></div><a _ngcontent-ng-c3911900635 class="flex items-center gap-1 rounded px-1 -mx-1 text-gray-600 hover:text-sapphire-blue dark:text-gray-400 dark:hover:text-white transition-colors focus:outline-none focus-visible:ring-2 focus-visible:ring-sapphire-blue" href="/proteccion-de-datos-personales" title="Protección de datos personales" aria-label="Protección de datos personales"><svg _ngcontent-ng-c3911900635="" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" class="w-4 h-4"><path _ngcontent-ng-c3911900635="" stroke-linecap="round" stroke-linejoin="round" d="M9 12.75L11.25 15 15 9.75m-3-7.036A11.959 11.959 0 013.598 6 11.99 11.99 0 003 9.749c0 5.592 3.824 10.29 9 11.623 5.176-1.332 9-6.03 9-11.622 0-1.31-.21-2.571-.598-3.751h-.152c-3.196 0-6.1-1.248-8.25-3.285z"/></svg><span _ngcontent-ng-c3911900635 class="text-xs sm:hidden">Privacidad</span><span _ngcontent-ng-c3911900635 class="hidden sm:inline text-sm">Protección de datos personales</span></a><a _ngcontent-ng-c3911900635 class="app-hidden flex items-center gap-1 rounded px-1 -mx-1 text-gray-600 hover:text-sapphire-blue dark:text-gray-400 dark:hover:text-white transition-colors focus:outline-none focus-visible:ring-2 focus-visible:ring-sapphire-blue" href="/accesibilidad" title="Declaración de accesibilidad" aria-label="Declaración de accesibilidad"><svg _ngcontent-ng-c3911900635="" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" class="w-4 h-4"><path _ngcontent-ng-c3911900635="" stroke-linecap="round" stroke-linejoin="round" d="M15.75 6a3.75 3.75 0 11-7.5 0 3.75 3.75 0 017.5 0zM4.501 20.118a7.5 7.5 0 0114.998 0A17.933 17.933 0 0112 21.75c-2.676 0-5.216-.584-7.499-1.632z"/></svg><span _ngcontent-ng-c3911900635 class="text-xs sm:hidden">Accesibilidad</span><span _ngcontent-ng-c3911900635 class="hidden sm:inline text-sm">Declaración de accesibilidad</span></a><!----><!----><average-region-selector _ngcontent-ng-c3911900635 class="app-hidden" _nghost-ng-c1109935465 ngh="23"><div _ngcontent-ng-c1109935465 class="region-selector"><button _ngcontent-ng-c1109935465 type="button" aria-haspopup="listbox" class="region-trigger" aria-label="Seleccionar región" aria-expanded="false" jsaction="click:;"><svg _ngcontent-ng-c1109935465="" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" class="w-4 h-4"><path _ngcontent-ng-c1109935465="" stroke-linecap="round" stroke-linejoin="round" d="M12 21a9.004 9.004 0 008.716-6.747M12 21a9.004 9.004 0 01-8.716-6.747M12 21c2.485 0 4.5-4.03 4.5-9S14.485 3 12 3m0 18c-2.485 0-4.5-4.03-4.5-9S9.515 3 12 3m0 0a8.997 8.997 0 017.843 4.582M12 3a8.997 8.997 0 00-7.843 4.582m15.686 0A11.953 11.953 0 0112 10.5c-2.998 0-5.74-1.1-7.843-2.918m15.686 0A8.959 8.959 0 0121 12c0 .778-.099 1.533-.284 2.253m0 0A17.919 17.919 0 0112 16.5c-3.162 0-6.133-.815-8.716-2.247m0 0A9.015 9.015 0 013 12c0-1.605.42-3.113 1.157-4.418"/></svg></button><nav _ngcontent-ng-c1109935465 role="listbox" class="region-menu" aria-label="Available regions"><a _ngcontent-ng-c1109935465 target="_blank" role="option" rel="noopener" class="region-item" href="https://average.app" aria-label="Switch to English (Global)" title="Switch to English (Global)"><img _ngcontent-ng-c1109935465 loading="lazy" aria-hidden="true" class="region-flag" src="/assets/flags/global-flag.svg" alt="English flag"><span _ngcontent-ng-c1109935465 class="region-name">English</span></a><a _ngcontent-ng-c1109935465 target="_blank" role="option" rel="noopener" class="region-item" href="https://cijfergemiddelde.be" aria-label="Overschakelen naar België" title="Overschakelen naar België"><img _ngcontent-ng-c1109935465 loading="lazy" aria-hidden="true" class="region-flag" src="/assets/flags/belgium-flag.svg" alt="België flag"><span _ngcontent-ng-c1109935465 class="region-name">België</span></a><a _ngcontent-ng-c1109935465 target="_blank" role="option" rel="noopener" class="region-item" href="https://media-notas.com" aria-label="Mudar para Brasil" title="Mudar para Brasil"><img _ngcontent-ng-c1109935465 loading="lazy" aria-hidden="true" class="region-flag" src="/assets/flags/brazil-flag.svg" alt="Brasil flag"><span _ngcontent-ng-c1109935465 class="region-name">Brasil</span></a><a _ngcontent-ng-c1109935465 target="_blank" role="option" rel="noopener" class="region-item" href="https://prumer-znamek.cz" aria-label="Přepnout na Česko" title="Přepnout na Česko"><img _ngcontent-ng-c1109935465 loading="lazy" aria-hidden="true" class="region-flag" src="/assets/flags/czech-republic-flag.svg" alt="Česko flag"><span _ngcontent-ng-c1109935465 class="region-name">Česko</span></a><a _ngcontent-ng-c1109935465 target="_blank" role="option" rel="noopener" class="region-item" href="https://karaktersnit.dk" aria-label="Skift til Danmark" title="Skift til Danmark"><img _ngcontent-ng-c1109935465 loading="lazy" aria-hidden="true" class="region-flag" src="/assets/flags/denmark-flag.svg" alt="Danmark flag"><span _ngcontent-ng-c1109935465 class="region-name">Danmark</span></a><a _ngcontent-ng-c1109935465 target="_blank" role="option" rel="noopener" class="region-item" href="https://notenschnitt.de" aria-label="Zu Deutschland wechseln" title="Zu Deutschland wechseln"><img _ngcontent-ng-c1109935465 loading="lazy" aria-hidden="true" class="region-flag" src="/assets/flags/germany-flag.svg" alt="Deutschland flag"><span _ngcontent-ng-c1109935465 class="region-name">Deutschland</span></a><a _ngcontent-ng-c1109935465 target="_blank" role="option" rel="noopener" class="region-item" href="https://moyenne-notes.fr" aria-label="Passer à la France" title="Passer à la France"><img _ngcontent-ng-c1109935465 loading="lazy" aria-hidden="true" class="region-flag" src="/assets/flags/france-flag.svg" alt="France flag"><span _ngcontent-ng-c1109935465 class="region-name">France</span></a><a _ngcontent-ng-c1109935465 target="_blank" role="option" rel="noopener" class="region-item" href="https://media-voti.it" aria-label="Passa all'Italia" title="Passa all'Italia"><img _ngcontent-ng-c1109935465 loading="lazy" aria-hidden="true" class="region-flag" src="/assets/flags/italy-flag.svg" alt="Italia flag"><span _ngcontent-ng-c1109935465 class="region-name">Italia</span></a><a _ngcontent-ng-c1109935465 target="_blank" role="option" rel="noopener" class="region-item" href="https://jegyatlag.hu" aria-label="Váltás Magyarországra" title="Váltás Magyarországra"><img _ngcontent-ng-c1109935465 loading="lazy" aria-hidden="true" class="region-flag" src="/assets/flags/hungary-flag.svg" alt="Magyarország flag"><span _ngcontent-ng-c1109935465 class="region-name">Magyarország</span></a><a _ngcontent-ng-c1109935465 target="_blank" role="option" rel="noopener" class="region-item" href="https://cijfergemiddelde.nl" aria-label="Overschakelen naar Nederland" title="Overschakelen naar Nederland"><img _ngcontent-ng-c1109935465 loading="lazy" aria-hidden="true" class="region-flag" src="/assets/flags/netherlands-flag.svg" alt="Nederland flag"><span _ngcontent-ng-c1109935465 class="region-name">Nederland</span></a><a _ngcontent-ng-c1109935465 target="_blank" role="option" rel="noopener" class="region-item" href="https://snittkarakter.app" aria-label="Bytt til Norge" title="Bytt til Norge"><img _ngcontent-ng-c1109935465 loading="lazy" aria-hidden="true" class="region-flag" src="/assets/flags/norway-flag.svg" alt="Norge flag"><span _ngcontent-ng-c1109935465 class="region-name">Norge</span></a><a _ngcontent-ng-c1109935465 target="_blank" role="option" rel="noopener" class="region-item" href="https://notenschnitt.at" aria-label="Zu Österreich wechseln" title="Zu Österreich wechseln"><img _ngcontent-ng-c1109935465 loading="lazy" aria-hidden="true" class="region-flag" src="/assets/flags/austria-flag.svg" alt="Österreich flag"><span _ngcontent-ng-c1109935465 class="region-name">Österreich</span></a><a _ngcontent-ng-c1109935465 target="_blank" role="option" rel="noopener" class="region-item" href="https://srednia-ocen.pl" aria-label="Przełącz na Polskę" title="Przełącz na Polskę"><img _ngcontent-ng-c1109935465 loading="lazy" aria-hidden="true" class="region-flag" src="/assets/flags/poland-flag.svg" alt="Polska flag"><span _ngcontent-ng-c1109935465 class="region-name">Polska</span></a><a _ngcontent-ng-c1109935465 target="_blank" role="option" rel="noopener" class="region-item" href="https://media-notas.pt" aria-label="Mudar para Portugal" title="Mudar para Portugal"><img _ngcontent-ng-c1109935465 loading="lazy" aria-hidden="true" class="region-flag" src="/assets/flags/portugal-flag.svg" alt="Portugal flag"><span _ngcontent-ng-c1109935465 class="region-name">Portugal</span></a><a _ngcontent-ng-c1109935465 target="_blank" role="option" rel="noopener" class="region-item" href="https://medie-note.ro" aria-label="Comută la România" title="Comută la România"><img _ngcontent-ng-c1109935465 loading="lazy" aria-hidden="true" class="region-flag" src="/assets/flags/romania-flag.svg" alt="România flag"><span _ngcontent-ng-c1109935465 class="region-name">România</span></a><a _ngcontent-ng-c1109935465 target="_blank" role="option" rel="noopener" class="region-item" href="https://notendurchschnitt.ch" aria-label="Zur Schweiz wechseln" title="Zur Schweiz wechseln"><img _ngcontent-ng-c1109935465 loading="lazy" aria-hidden="true" class="region-flag" src="/assets/flags/switzerland-flag.svg" alt="Schweiz flag"><span _ngcontent-ng-c1109935465 class="region-name">Schweiz</span></a><a _ngcontent-ng-c1109935465 target="_blank" role="option" rel="noopener" class="region-item" href="https://priemer-znamok.sk" aria-label="Prepnúť na Slovensko" title="Prepnúť na Slovensko"><img _ngcontent-ng-c1109935465 loading="lazy" aria-hidden="true" class="region-flag" src="/assets/flags/slovakia-flag.svg" alt="Slovensko flag"><span _ngcontent-ng-c1109935465 class="region-name">Slovensko</span></a><a _ngcontent-ng-c1109935465 target="_blank" role="option" rel="noopener" class="region-item" href="https://arvosanakeskiarvo.fi" aria-label="Vaihda Suomeen" title="Vaihda Suomeen"><img _ngcontent-ng-c1109935465 loading="lazy" aria-hidden="true" class="region-flag" src="/assets/flags/finland-flag.svg" alt="Suomi flag"><span _ngcontent-ng-c1109935465 class="region-name">Suomi</span></a><a _ngcontent-ng-c1109935465 target="_blank" role="option" rel="noopener" class="region-item" href="https://medelbetyg.se" aria-label="Byt till Sverige" title="Byt till Sverige"><img _ngcontent-ng-c1109935465 loading="lazy" aria-hidden="true" class="region-flag" src="/assets/flags/sweden-flag.svg" alt="Sverige flag"><span _ngcontent-ng-c1109935465 class="region-name">Sverige</span></a><!----></nav></div></average-region-selector><!----></div></footer></average-footer></div></div></average-root>
<link rel="modulepreload" href="chunk-SW4MFKFT.js"><link rel="modulepreload" href="chunk-2QWHAEXU.js"><link rel="modulepreload" href="chunk-X2SX7VKZ.js"><link rel="modulepreload" href="chunk-NG5Z4Z6Q.js"><link rel="modulepreload" href="chunk-7MF7BLFZ.js"><link rel="modulepreload" href="chunk-RCCUO4JI.js"><link rel="modulepreload" href="chunk-GDDE5IK3.js"><link rel="modulepreload" href="chunk-HRFNFVUP.js"><script src="main-IORONVID.js" type="module"></script>

<script id="ng-state" type="application/json">{"translations-es":{"common":{"appName":"Promedio.app","backToCalculator":"Volver a la calculadora","calculatorLink":"Calculadora de Notas","darkModeLabel":"Cambiar a modo oscuro","lightModeLabel":"Cambiar a modo claro"},"navigation":{"calculatorLink":"Calculadora de Notas","darkMode":"Cambiar a modo oscuro","lightMode":"Cambiar a modo claro"},"footer":{"appDescription":", aplicación para calcular el promedio de notas","privacyPolicyText":"Protección de datos personales","regionSelector":"Seleccionar región","privacyPolicy":"Política de privacidad","privacyPolicyShortText":"Privacidad","accessibilityStatementText":"Declaración de accesibilidad","accessibilityStatementShortText":"Accesibilidad","homeAriaLabel":"Ir a la página principal"},"articles":{"weightedAverage":{"title":"Qué es el promedio ponderado y cómo calcularlo"},"weightedVsSimple":{"title":"Diferencia entre promedio simple y ponderado"},"universityAverage":{"title":"Cómo calcular el promedio ponderado en Excel"},"symbol":{"title":"Cómo escribir el símbolo de diámetro Ø"},"installIos":{"title":"Cómo instalar la aplicación Promedio en iOS"},"gradeSimulator":{"title":"Simulador de promedio: Predice tu nota futura"},"cumulativeAverage":{"title":"Cómo calcular el promedio acumulado"},"creditsAverage":{"title":"Promedio ponderado por créditos universitarios"},"examGrade":{"title":"Cómo calcular la nota de un examen"}},"notFound":{"title":"Página no encontrada","description":"Lo sentimos, la página que buscas no fue encontrada.","linkText":"Volver al inicio"},"home":{"seoTitle":"Calculador de Notas: Promedio Ponderado y Examen Final 2026","seoDescription":"Calcula mi promedio de notas (funciona sin conexión): media ponderada, notas con porcentaje. Ideal para ESPOL y UPAO. ¿Cuánto necesito para el final?","pageTitle":"Calculadora de Notas","pageSubtitle":"Calcula mi promedio de notas y examen final: promedio ponderado (media ponderada) o media aritmética. Ingresa tus notas y obtén el resultado al instante.","weightedAverageCalculator":{"pillText":"Promedio Ponderado General"},"arithmeticAverageCalculator":{"pillText":"Media Aritmética"},"downloadSection":{"label":"Calcula mi promedio de notas en cualquier momento – también sin conexión","title":"¡Descarga la Calculadora de Notas en todos tus dispositivos!","description":"Calcula mi promedio de notas (funciona sin conexión): media ponderada, notas con porcentaje. Ideal para ESPOL y UPAO. ¿Cuánto necesito para el final? Con nuestra aplicación 'Promedio', tendrás una calculadora de notas siempre a mano. Descárgala como PWA en cualquier dispositivo. \u003Cstrong>Funciona sin conexión y ocupa menos espacio que una app tradicional.\u003C/strong>","androidAlt":"Descargar para Android","androidCta":"Descargar para","pwaAlt":"Descargar como PWA","iosAlt":"Descargar para iOS y macOS desde App Store","iosCta":"Descargar para","pwaDescription":"Calculadora de notas","pwaInstallDescription":"Este sitio funciona como una aplicación (PWA). Añádelo a tu pantalla de inicio para calcular tu promedio de notas rápidamente – incluso sin internet y ocupa menos espacio que una app tradicional."},"weightedAverageSection":{"label":"Calcula tu promedio ponderado online","title":"¿Cómo calcular el promedio ponderado (media ponderada) con nuestra calculadora?","description":"Para calcular el promedio ponderado (también llamado media ponderada), necesitas tus notas y sus pesos correspondientes (créditos, porcentajes o ponderaciones). Nuestra calculadora lo hace fácil! Para un cálculo manual:","step1":"Reúne tus notas y sus pesos (créditos ECTS, porcentajes, etc.).","step2":"Multiplica cada nota por su peso correspondiente.","step3":"Suma todos los productos resultantes.","step4":"Suma todos los pesos (créditos o porcentajes).","step5":"Divide la suma de productos por la suma de pesos para obtener la media ponderada.","formulaTitle":"Fórmula del promedio ponderado (media ponderada)","formulaText":"Media ponderada = (nota1 × créditos1 + nota2 × créditos2 + ...) / (créditos1 + créditos2 + ...).\u003Cbr class=\"hidden md:block\">Por ejemplo: (8 × 6 créditos + 7 × 4 créditos) / (6 + 4) = 7.6","linkText":"Ir a la calculadora de promedio ponderado →"},"arithmeticAverageSection":{"label":"Calcula tu media aritmética online","title":"¿Cómo calcular la media aritmética con nuestra calculadora?","description":"La media aritmética (también llamada promedio simple) es ideal cuando todas tus notas tienen el mismo peso. Sigue estos pasos:","step1":"Suma todas tus notas o calificaciones.","step2":"Cuenta el número total de notas.","step3":"Divide la suma por el número de notas.","formulaTitle":"Fórmula de la media aritmética","formulaText":"Media = (nota1 + nota2 + nota3 + ...) / N.\u003Cbr class=\"hidden md:block\">Por ejemplo: (8 + 7 + 9 + 6) / 4 = 7.5","linkText":"Ir a la calculadora de media aritmética →"},"wikipediaSection":{"label":"¿Por qué usar la media ponderada?","title":"El promedio ponderado (media ponderada) en tu vida académica","description":"En universidades y colegios de España y América Latina, la media ponderada es fundamental para calcular tu expediente académico. Las materias con más créditos ECTS o mayor porcentaje tienen más peso en tu nota final. Por ejemplo: un examen final del 50% afecta más tu promedio que un parcial del 20%. Esta calculadora te ayuda a proyectar tu nota media para becas, intercambios, másteres o simplemente saber cuánto necesitas sacar en el final para aprobar.","linkText":"Más sobre la media ponderada en Wikipedia →"},"internationalAppsSection":{"label":"Calculadora de promedio ponderado en todo el mundo","title":"Comparte nuestra calculadora de promedio ponderado con amigos en el extranjero","description":"Nuestra calculadora de promedio ponderado está disponible en múltiples regiones e idiomas. En algunos países, ofrecemos calculadoras especializadas diseñadas para sistemas escolares locales (promedio ponderado, créditos, promedios semestrales). En otros, es una herramienta universal de promedio ponderado. Recomienda nuestra aplicación a amigos y colegas que necesiten calcular promedios ponderados, promedios de calificaciones o medias aritméticas.","czechTitle":"Calculadora de promedio de calificaciones para estudiantes checos. Calcula el promedio ponderado con la app Průměr známek.","czechLink":"Calcular promedio en checo","polandTitle":"Calculadora de promedio de calificaciones para estudiantes polacos. Calcula el promedio ponderado con la app Średnia ocen.","polandLink":"Calcular promedio en polaco","slovakiaTitle":"Calculadora de promedio de calificaciones para estudiantes eslovacos. Calcula el promedio ponderado con la app Priemer známok.","slovakiaLink":"Calcular promedio en eslovaco","spainTitle":"Calculadora de media ponderada y promedio de notas para España y América Latina. La herramienta definitiva para estudiantes hispanohablantes.","spainLink":"Calcular promedio en español","romaniaTitle":"Calculadora de promedio de calificaciones para estudiantes rumanos. Calcula medie ponderată para créditos universitarios con la app Medie Note.","romaniaLink":"Calcular promedio en Rumanía","hungaryTitle":"Calculadora de promedio de calificaciones para estudiantes húngaros. Calcula súlyozott átlag para créditos universitarios con la app Jegy Átlag.","hungaryLink":"Calcular promedio en Hungría"},"articlesSection":{"label":"Guías y Tutoriales","title":"¿Cómo calcular tu promedio? Guías paso a paso","description":"Aprende a calcular tu media ponderada, promedio de notas y GPA con nuestras guías detalladas para estudiantes de España y Latinoamérica."},"moreCalculatorsSection":{"label":"Herramientas para estudiantes","title":"Más Calculadoras de Notas","description":"Explora nuestras calculadoras especializadas: media ponderada, media aritmética, mediana y cálculo de GPA (escala 4.0) para estudiar en EE.UU.","comingSoon":"Próximamente","calculators":{"gradesCalculator":"Calculadora de Notas","weightedAverage":"Promedio Ponderado","arithmeticMean":"Media Aritmética","median":"Mediana","weightedMedian":"Mediana Ponderada","gpa":"GPA (USA)"}},"regionalCalculatorsSection":{"label":"Sistemas de Calificación","title":"Calcula Tu Nota Media en España y América Latina","description":"Nuestra calculadora funciona con todos los sistemas de calificación. Ya sea media ponderada en España o promedio ponderado en Latinoamérica, calcula tu promedio aquí:","mexico":"Notas en México","mexicoDesc":"Calificaciones en porcentaje (0-100%)","spain":"Notas en España","spainDesc":"Calcula tu nota: bachillerato, ESO, universidad","argentina":"Notas en Argentina","argentinaDesc":"Promedio UBA, CBC, promoción directa y secundaria","colombia":"Notas en Colombia","colombiaDesc":"PAPA, promedio ponderado (0-5)","peru":"Notas en Perú","peruDesc":"UPAO, San Marcos – escala vigesimal","chile":"Notas en Chile","chileDesc":"Mi promedio, notas con porcentaje y NEM","venezuela":"Notas en Venezuela","venezuelaDesc":"UCV, LUZ, OPSU (0-20), USB (1-5)","ecuador":"Notas en Ecuador","ecuadorDesc":"ESPOL, UCE, Registro Nacional (0-10)","costaRica":"Notas en Costa Rica","costaRicaDesc":"UCR, TEC – nota de examen (0-10, 0-100)","guatemala":"Notas en Guatemala","guatemalaDesc":"USAC, Landívar – Zona y examen final (0-100)"},"jsonLd":{"browserRequirements":"Se requiere JavaScript habilitado","applicationCategory":"Productividad","applicationSubCategory":"Matemáticas","operatingSystem":"Todas las plataformas","iosDescription":"Aplicación para iOS y macOS para calcular promedios ponderados y aritméticos.","screenshots":{"desktop":"Calculadora de promedio - versión escritorio","tablet":"Calculadora de promedio - versión tableta","mobile":"Calculadora de promedio - versión móvil","offline":"Modo sin conexión - funciona sin internet"}}},"settings":{"title":"Ajustes","close":"Cerrar","theme":"Tema","light":"Claro","dark":"Oscuro","system":"Sistema","region":"Región","language":"Idioma","search":"Buscar...","defaultCalculator":"Calculadora predeterminada","gradesAverage":"Promedio de notas","gpa":"GPA 4.0","data":"Datos","resetData":"Eliminar todos los datos","confirmReset":"¿Estás seguro de que deseas eliminar todos los datos? Esta acción no se puede deshacer.","save":"Guardar","weightedAverage":"Promedio ponderado","saved":"Guardado"},"privacy":{"pageTitle":"Privacy Policy","pageSubtitle":"Information about how personal data is handled in this application.","calculatorTitle":"Calculator and Calculations","calculatorText":"This application does not collect or send any personal data to our servers. All calculations are performed directly in your browser, meaning all data you enter stays on your device. The application works completely offline.","sentryTitle":"Sentry.io Error Logging","sentryText":"We use the Sentry.io service for logging and monitoring application errors. In case of an error, we collect technical information (such as device type and browser version), which is processed by Sentry.io. Sentry.io's privacy policy is available at: ","analyticsTitle":"Analytics","analyticsText":"We use Plausible Analytics to collect aggregate visitor statistics. Plausible is a privacy-focused analytics tool that does not use cookies and does not collect any personal data.","changesTitle":"Changes to This Policy","changesText":"We reserve the right to modify this privacy policy. Changes will be published on this page.","contactTitle":"Contact","contactText":"If you have any questions about this privacy policy, please contact us at: "},"accessibility":{"pageTitle":"Declaración de accesibilidad","seoTitle":"Declaración de accesibilidad | Promedio de notas","pageSubtitle":"Nuestro compromiso con la accesibilidad para todos los usuarios.","introTitle":"Introducción","introText":"Nos esforzamos por hacer que esta aplicación sea accesible para todos los usuarios, incluidas las personas con discapacidad.","commitmentTitle":"Nuestro compromiso","commitmentText":"Nuestro objetivo es el cumplimiento de las directrices WCAG 2.1 nivel AA.","featuresTitle":"Características de accesibilidad","featuresText":"Esta aplicación incluye las siguientes características de accesibilidad:","feature1":"Navegación completa por teclado","feature2":"Modo oscuro para reducir la fatiga visual","feature3":"Diseño responsive para diferentes dispositivos","feature4":"Etiquetas claras para todos los campos de formulario","feature5":"HTML semántico para compatibilidad con lectores de pantalla","limitationsTitle":"Limitaciones conocidas","limitationsText":"Si encuentra dificultades, contáctenos.","feedbackTitle":"Comentarios","feedbackText":"Agradecemos sus comentarios sobre la accesibilidad de esta aplicación.","contactTitle":"Contacto","contactText":"Contáctenos en: "},"offline":{"banner":{"short":"Sin conexión","message":"Estás sin conexión. Algunas funciones pueden estar limitadas."}},"update":{"prompt":{"message":"Nueva versión disponible","refresh":"Actualizar","dismiss":"Más tarde"}}},"__nghData__":[{"t":{"0":"t0"},"c":{"0":[]}},{"t":{"0":"t1"},"c":{"0":[]}},{},{"t":{"3":"t2","4":"t3","7":"t4","8":"t5","9":"t6","10":"t7","11":"t8"},"c":{"3":[{"i":"t3","r":2}],"4":[],"7":[],"8":[],"9":[{"i":"t6","r":1}],"10":[],"11":[]}},{"t":{"3":"t2","4":"t3","7":"t4","8":"t5","9":"t6","10":"t7","11":"t8"},"c":{"3":[{"i":"t3","r":2}],"4":[],"7":[],"8":[],"9":[{"i":"t6","r":1}],"10":[{"i":"t7","r":1}],"11":[]}},{"t":{"6":"t9"},"c":{"6":[]}},{"t":{"1":"t10","2":"t11"},"c":{"1":[{"i":"t10","r":1}],"2":[]}},{"t":{"1":"t14","5":"t15"},"c":{"1":[{"i":"t14","r":1}],"5":[{"i":"t15","r":1,"t":{"2":"t16"},"c":{"2":[{"i":"t16","r":2,"t":{"0":"t17"},"c":{"0":[]}}]}}]}},{"t":{"1":"t14","5":"t15"},"c":{"1":[],"5":[{"i":"t15","r":1,"t":{"2":"t16"},"c":{"2":[{"i":"t16","r":2,"t":{"0":"t17"},"c":{"0":[]}}]}}]}},{"t":{"14":"t13","15":"t18","18":"t20","23":"t25","25":"t30","26":"t31","27":"t32","28":"t33","29":"t34","30":"t35","31":"t36","32":"t37","33":"t38","35":"t39","36":"t40","37":"t46","38":"t47","39":"t53","42":"t58","43":"t60","49":"t62","50":"t63","51":"t64","52":"t65","53":"t68","56":"t69","60":"t70","61":"t71","62":"t72","65":"t73"},"c":{"14":[{"i":"t13","r":1}],"15":[{"i":"t18","r":1,"t":{"3":"t19"},"c":{"3":[{"i":"t19","r":1}]}}],"18":[{"i":"t20","r":2,"e":{"0":1},"t":{"4":"t21","5":"t22"},"c":{"4":[],"5":[{"i":"t22","r":1,"t":{"2":"t23","3":"t24"},"c":{"2":[],"3":[]}}]},"x":7}],"23":[{"i":"t25","r":1,"t":{"2":"t26","3":"t27","5":"t28","6":"t29"},"c":{"2":[{"i":"t26","r":1}],"3":[],"5":[{"i":"t28","r":1}],"6":[]}}],"25":[],"26":[],"27":[{"i":"t32","r":1}],"28":[],"29":[{"i":"t34","r":1}],"30":[],"31":[{"i":"t36","r":1}],"32":[],"33":[{"i":"t38","r":1}],"35":[],"36":[{"i":"t40","r":3,"t":{"0":"t41","1":"t45"},"c":{"0":[{"i":"t41","r":1,"t":{"3":"t42","4":"t43","8":"t44"},"c":{"3":[],"4":[{"i":"t43","r":1}],"8":[]}}],"1":[]}}],"37":[{"i":"t46","r":1}],"38":[{"i":"t47","r":3,"t":{"0":"t48","1":"t52"},"c":{"0":[{"i":"t48","r":1,"t":{"3":"t49","4":"t50","8":"t51"},"c":{"3":[],"4":[{"i":"t50","r":1}],"8":[]}}],"1":[]}}],"39":[{"i":"t53","r":1,"t":{"5":"t54","6":"t55","9":"t56","12":"t57"},"c":{"5":[],"6":[{"i":"t55","r":1}],"9":[{"i":"t56","r":1}],"12":[]}}],"42":[{"i":"t58","r":1,"t":{"6":"t59"},"c":{"6":[]}}],"43":[{"i":"t60","r":1,"t":{"1":"t61"},"c":{"1":[{"i":"t61","r":1}]}}],"49":[],"50":[{"i":"t63","r":1}],"51":[{"i":"t64","r":1}],"52":[{"i":"t65","r":1,"t":{"12":"t66","13":"t67"},"c":{"12":[],"13":[{"i":"t67","r":1}]}}],"53":[{"i":"t68","r":1}],"56":[],"60":[{"i":"t70","r":1}],"61":[],"62":[],"65":[]}},{"t":{"1":"t10","2":"t11"},"c":{"1":[],"2":[{"i":"t11","r":1}]}},{"t":{"4":"t75","5":"t76","6":"t77","8":"t78","9":"t79","10":"t80","11":"t81"},"c":{"4":[{"i":"t75","r":1}],"5":[{"i":"t76","r":1}],"6":[{"i":"t77","r":1}],"8":[{"i":"t78","r":1}],"9":[],"10":[{"i":"t80","r":1}],"11":[]}},{"t":{"4":"t83","5":"t84","6":"t85","8":"t86"},"c":{"4":[{"i":"t83","r":1}],"5":[{"i":"t84","r":1}],"6":[{"i":"t85","r":1}],"8":[]},"n":{"8":"2fn2"}},{"n":{"5":"1f4n"},"t":{"7":"t87"},"c":{"7":[{"i":"t87","r":1,"t":{"8":"t88"},"c":{"8":[{"i":"t88","r":1}]},"x":10}]}},{"t":{"0":"t89","2":"t90","3":"t99"},"c":{"0":[],"2":[{"i":"t90","r":1,"t":{"1":"t91"},"c":{"1":[{"i":"t89","r":6,"t":{"1":"t92"},"c":{"1":[{"i":"t92","r":1,"t":{"1":"t93","2":"t94","3":"t95","4":"t96","6":"t97","7":"t98"},"c":{"1":[],"2":[{"i":"t94","r":1}],"3":[],"4":[],"6":[],"7":[{"i":"t98","r":1}]},"x":5}]}}]}}],"3":[]}},{"t":{"3":"t100","6":"t101"},"c":{"3":[],"6":[]}},{"n":{"5":"1f4n","13":"12f3n2f"}},{"t":{"0":"t89","2":"t90","3":"t99"},"c":{"0":[],"2":[{"i":"t90","r":1,"t":{"1":"t91"},"c":{"1":[{"i":"t89","r":4,"t":{"1":"t92"},"c":{"1":[{"i":"t92","r":1,"t":{"1":"t93","2":"t94","3":"t95","4":"t96","6":"t97","7":"t98"},"c":{"1":[],"2":[{"i":"t94","r":1}],"3":[],"4":[],"6":[],"7":[{"i":"t98","r":1}]},"x":3}]}}]}}],"3":[]}},{"n":{"5":"1f4n"},"t":{"7":"t103"},"c":{"7":[{"i":"t103","r":1,"x":8}]}},{"t":{"4":"t83","5":"t84","6":"t85","8":"t86"},"c":{"4":[{"i":"t83","r":1}],"5":[{"i":"t84","r":1}],"6":[{"i":"t85","r":1}],"8":[{"i":"t86","r":1}]},"n":{"8":"2fn"}},{"n":{"5":"1f4n"},"t":{"7":"t105"},"c":{"7":[{"i":"t105","r":3,"t":{"0":"t106","1":"t107"},"c":{"0":[],"1":[{"i":"t107","r":1}]},"x":6}]}},{"t":{"9":"t12","13":"t74"},"c":{"9":[],"13":[{"i":"t74","r":1,"n":{"1":"0f2n"},"t":{"4":"t82","11":"t102","14":"t104"},"c":{"4":[{"i":"t82","r":2}],"11":[{"i":"t102","r":2}],"14":[{"i":"t104","r":2}]}}]}},{"n":{"4":"3fnfn"}},{"t":{"6":"t111"},"c":{"6":[{"i":"t111","r":1,"x":19}]}},{"t":{"19":"t108","20":"t109","21":"t110"},"c":{"19":[{"i":"t108","r":1}],"20":[],"21":[{"i":"t110","r":1}]}},{"c":{"5":[{"i":"c609010827","r":1}]}}]}</script></body></html>