@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800;900&display=swap');
@import url('https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.0.0/css/all.min.css');

/* tc-scoped:tc-wp-tool-root */

.tc-wp-tool-root {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  box-sizing: border-box;
  display: flow-root;
  isolation: isolate;
  position: relative;
}
.tc-wp-tool-root img,
.tc-wp-tool-root video,
.tc-wp-tool-root svg,
.tc-wp-tool-root iframe {
  max-width: 100%;
  height: auto;
}

.tc-wp-tool-root, .tc-wp-tool-root{
  overflow-x: hidden;
}.tc-wp-tool-root .unl-gpa-tool-wrap{
  --unl-red: #d00000;
  --unl-red-dark: #8f0000;
  --unl-charcoal: #20242a;
  --unl-navy: #1c2d45;
  --unl-parchment: #f8f3e7;
  --unl-paper: #fffdf8;
  --unl-gold: #b98720;
  --unl-green: #24724a;
  --unl-muted: #667085;
  --unl-line: #ded7c8;
  --unl-danger: #b42318;
  --unl-shadow: 0 22px 55px rgba(32, 36, 42, 0.16);
  position: relative;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  box-sizing: border-box;
  border-radius: 0;
  padding: 28px 14px;
  color: var(--unl-charcoal);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  background:
    linear-gradient(rgba(208, 0, 0, 0.045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(28, 45, 69, 0.045) 1px, transparent 1px),
    radial-gradient(circle at 15% 12%, rgba(208, 0, 0, 0.12), transparent 28%),
    radial-gradient(circle at 88% 18%, rgba(185, 135, 32, 0.18), transparent 26%),
    linear-gradient(135deg, #fffaf0 0%, #f4f0e7 42%, #ffffff 100%);
  background-size: 26px 26px, 26px 26px, auto, auto, auto;
  overflow: hidden;
}.tc-wp-tool-root .unl-gpa-tool-wrap *, .tc-wp-tool-root .unl-gpa-tool-wrap *::before, .tc-wp-tool-root .unl-gpa-tool-wrap *::after{
  box-sizing: border-box;
  min-width: 0;
}.tc-wp-tool-root .unl-gpa-header{
  width: 100%;
  max-width: 860px;
  margin: 0 auto 22px;
  text-align: center;
  display: grid;
  align-items: center;
  justify-content: center;
  gap: 10px;
}.tc-wp-tool-root .unl-gpa-header h1{
  margin: 0;
  color: var(--unl-charcoal);
  font-weight: 850;
  line-height: 1.08;
  letter-spacing: 0;
  overflow-wrap: anywhere;
}.tc-wp-tool-root .unl-gpa-header h1 span{
  background: linear-gradient(90deg, var(--unl-charcoal), var(--unl-red-dark));
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}.tc-wp-tool-root .unl-gpa-header p{
  margin: 0;
  color: #344054;
  line-height: 1.55;
  overflow-wrap: anywhere;
}.tc-wp-tool-root .unl-gpa-card, .tc-wp-tool-root .unl-shortcuts{
  width: 100%;
  max-width: 1180px;
  margin: 0 auto;
}.tc-wp-tool-root .unl-gpa-card{
  background: rgba(255, 253, 248, 0.94);
  border: 1px solid rgba(143, 0, 0, 0.16);
  border-radius: 18px;
  box-shadow: var(--unl-shadow);
  padding: 14px;
}.tc-wp-tool-root .unl-gpa-grid{
  display: grid;
  width: 100%;
  max-width: 100%;
  gap: 14px;
  grid-template-columns: 1fr;
}.tc-wp-tool-root .unl-gpa-input-panel, .tc-wp-tool-root .unl-gpa-output-panel{
  width: 100%;
  max-width: 100%;
  min-width: 0;
  border: 1px solid var(--unl-line);
  border-radius: 14px;
  background:
    linear-gradient(rgba(185, 135, 32, 0.05) 1px, transparent 1px),
    linear-gradient(90deg, rgba(32, 36, 42, 0.035) 1px, transparent 1px),
    var(--unl-paper);
  background-size: 22px 22px;
  padding: 16px;
}.tc-wp-tool-root .unl-gpa-output-panel{
  overflow-y: auto;
  scrollbar-color: rgba(143, 0, 0, 0.55) rgba(248, 243, 231, 0.9);
  scrollbar-width: thin;
}.tc-wp-tool-root .unl-gpa-output-panel::-webkit-scrollbar{
  width: 10px;
}.tc-wp-tool-root .unl-gpa-output-panel::-webkit-scrollbar-track{
  background: rgba(248, 243, 231, 0.9);
  border-radius: 999px;
}.tc-wp-tool-root .unl-gpa-output-panel::-webkit-scrollbar-thumb{
  background: linear-gradient(var(--unl-red-dark), var(--unl-gold));
  border-radius: 999px;
}.tc-wp-tool-root .unl-settings-grid, .tc-wp-tool-root .unl-preview-grid{
  display: grid;
  width: 100%;
  max-width: 100%;
  gap: 12px;
  grid-template-columns: 1fr;
}.tc-wp-tool-root .unl-field{
  display: grid;
  gap: 6px;
  width: 100%;
}.tc-wp-tool-root .unl-field label{
  color: var(--unl-navy);
  font-weight: 750;
  line-height: 1.25;
}.tc-wp-tool-root .unl-field input, .tc-wp-tool-root .unl-field select{
  width: 100%;
  max-width: 100%;
  border: 1px solid #cfc7b8;
  border-radius: 10px;
  background: #ffffff;
  color: var(--unl-charcoal);
  outline: none;
  transition: border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}.tc-wp-tool-root .unl-field input:focus-visible, .tc-wp-tool-root .unl-field select:focus-visible, .tc-wp-tool-root .unl-btn:focus-visible, .tc-wp-tool-root .unl-shortcut:focus-visible, .tc-wp-tool-root .unl-remove-course:focus-visible{
  outline: 3px solid rgba(208, 0, 0, 0.22);
  outline-offset: 2px;
  border-color: var(--unl-red);
}.tc-wp-tool-root .unl-field input:hover, .tc-wp-tool-root .unl-field select:hover{
  border-color: rgba(143, 0, 0, 0.45);
}.tc-wp-tool-root .unl-course-list{
  display: grid;
  width: 100%;
  gap: 10px;
  margin-top: 14px;
}.tc-wp-tool-root .unl-course-row{
  display: grid;
  width: 100%;
  max-width: 100%;
  gap: 10px;
  align-items: end;
  padding: 12px;
  border: 1px solid rgba(28, 45, 69, 0.13);
  border-left: 4px solid var(--unl-red);
  border-radius: 12px;
  background: linear-gradient(135deg, #ffffff, #fffaf0);
}.tc-wp-tool-root .unl-remove-course{
  width: 100%;
  border: 1px solid rgba(180, 35, 24, 0.25);
  border-radius: 10px;
  background: #fff4f2;
  color: var(--unl-danger);
  cursor: pointer;
  font-weight: 850;
  transition: transform 160ms ease, background 160ms ease, border-color 160ms ease;
}.tc-wp-tool-root .unl-remove-course:hover{
  transform: translateY(-1px);
  background: #ffe7e3;
  border-color: rgba(180, 35, 24, 0.48);
}.tc-wp-tool-root .unl-action-row{
  display: grid;
  width: 100%;
  gap: 10px;
  margin-top: 14px;
  grid-template-columns: 1fr;
}.tc-wp-tool-root .unl-btn, .tc-wp-tool-root .unl-shortcut{
  width: 100%;
  max-width: 100%;
  border-radius: 10px;
  border: 1px solid transparent;
  cursor: pointer;
  font-weight: 800;
  line-height: 1.2;
  transition: transform 160ms ease, box-shadow 160ms ease, background 160ms ease, border-color 160ms ease;
  overflow-wrap: anywhere;
}.tc-wp-tool-root .unl-btn:hover, .tc-wp-tool-root .unl-shortcut:hover{
  transform: translateY(-1px);
}.tc-wp-tool-root .unl-btn-primary{
  background: linear-gradient(135deg, var(--unl-red), var(--unl-red-dark));
  color: #ffffff;
  box-shadow: 0 10px 20px rgba(143, 0, 0, 0.2);
}.tc-wp-tool-root .unl-btn-ghost, .tc-wp-tool-root .unl-shortcut{
  background: #ffffff;
  color: var(--unl-navy);
  border-color: rgba(28, 45, 69, 0.18);
}.tc-wp-tool-root .unl-btn-ghost:hover, .tc-wp-tool-root .unl-shortcut:hover{
  border-color: rgba(143, 0, 0, 0.32);
  background: #fffaf0;
}.tc-wp-tool-root .unl-validation{
  display: grid;
  gap: 7px;
  margin-top: 12px;
  color: var(--unl-danger);
  font-weight: 700;
  line-height: 1.35;
  overflow-wrap: anywhere;
}.tc-wp-tool-root .unl-validation:empty{
  display: none;
}.tc-wp-tool-root .unl-score-block{
  display: grid;
  gap: 8px;
  padding: 18px;
  border-radius: 14px;
  background: linear-gradient(135deg, var(--unl-navy), #303846);
  color: #ffffff;
  border: 1px solid rgba(255, 255, 255, 0.14);
}.tc-wp-tool-root .unl-score-label{
  font-weight: 750;
  color: #f6e6bd;
}.tc-wp-tool-root .unl-main-score{
  line-height: 0.95;
  letter-spacing: 0;
	color: #fff;
}.tc-wp-tool-root .unl-standing-badge{
  display: inline-flex;
  width: fit-content;
  max-width: 100%;
  padding: 7px 10px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.13);
  color: #ffffff;
  font-weight: 800;
  overflow-wrap: anywhere;
}.tc-wp-tool-root .unl-preview-grid{
  margin-top: 14px;
}.tc-wp-tool-root .unl-preview-card{
  width: 100%;
  max-width: 100%;
  min-width: 0;
  border-radius: 12px;
  border: 1px solid rgba(28, 45, 69, 0.14);
  background: #ffffff;
  display: grid;
  gap: 7px;
}.tc-wp-tool-root .unl-preview-card span{
  color: var(--unl-muted);
  font-weight: 750;
  line-height: 1.25;
  overflow-wrap: anywhere;
}.tc-wp-tool-root .unl-preview-card strong{
  color: var(--unl-charcoal);
  line-height: 1.15;
  overflow-wrap: anywhere;
}.tc-wp-tool-root .unl-result-message{
  margin-top: 14px;
  padding: 12px 14px;
  border-radius: 12px;
  border: 1px solid rgba(36, 114, 74, 0.24);
  background: rgba(36, 114, 74, 0.08);
  color: #145233;
  font-weight: 800;
  line-height: 1.4;
  overflow-wrap: anywhere;
}.tc-wp-tool-root .unl-shortcuts{
  display: grid;
  gap: 10px;
  margin-top: 14px;
}@media (min-width: 320px) and (max-width: 374px) {.tc-wp-tool-root .unl-gpa-tool-wrap{ padding: 18px 10px; }.tc-wp-tool-root .unl-gpa-card, .tc-wp-tool-root .unl-shortcuts{ max-width: 100%; }.tc-wp-tool-root .unl-gpa-header h1{ font-size: 26px; }.tc-wp-tool-root .unl-gpa-header p{ font-size: 14px; }.tc-wp-tool-root .unl-field label{ font-size: 12px; }.tc-wp-tool-root .unl-field input, .tc-wp-tool-root .unl-field select{ min-height: 42px; padding: 9px 10px; font-size: 14px; }.tc-wp-tool-root .unl-btn, .tc-wp-tool-root .unl-shortcut, .tc-wp-tool-root .unl-remove-course{ min-height: 42px; padding: 9px 10px; font-size: 13px; }.tc-wp-tool-root .unl-gpa-grid, .tc-wp-tool-root .unl-course-row, .tc-wp-tool-root .unl-preview-grid{ grid-template-columns: 1fr !important; }.tc-wp-tool-root .unl-gpa-input-panel, .tc-wp-tool-root .unl-gpa-output-panel{ grid-column: 1 / -1; padding: 12px; }.tc-wp-tool-root .unl-course-row{ gap: 8px; padding: 10px; }.tc-wp-tool-root .unl-preview-card{ padding: 11px; }.tc-wp-tool-root .unl-preview-card span{ font-size: 12px; }.tc-wp-tool-root .unl-preview-card strong{ font-size: 18px; }.tc-wp-tool-root .unl-main-score{ font-size: 48px; }.tc-wp-tool-root .unl-gpa-grid, .tc-wp-tool-root .unl-settings-grid, .tc-wp-tool-root .unl-preview-grid, .tc-wp-tool-root .unl-shortcuts{ gap: 9px; }}@media (min-width: 375px) and (max-width: 429px) {.tc-wp-tool-root .unl-gpa-tool-wrap{ padding: 22px 12px; }.tc-wp-tool-root .unl-gpa-card, .tc-wp-tool-root .unl-shortcuts{ max-width: 100%; }.tc-wp-tool-root .unl-gpa-header h1{ font-size: 30px; }.tc-wp-tool-root .unl-gpa-header p{ font-size: 15px; }.tc-wp-tool-root .unl-field label{ font-size: 13px; }.tc-wp-tool-root .unl-field input, .tc-wp-tool-root .unl-field select{ min-height: 44px; padding: 10px 11px; font-size: 15px; }.tc-wp-tool-root .unl-btn, .tc-wp-tool-root .unl-shortcut, .tc-wp-tool-root .unl-remove-course{ min-height: 44px; padding: 10px 12px; font-size: 14px; }.tc-wp-tool-root .unl-gpa-grid, .tc-wp-tool-root .unl-course-row, .tc-wp-tool-root .unl-preview-grid{ grid-template-columns: 1fr !important; }.tc-wp-tool-root .unl-gpa-input-panel, .tc-wp-tool-root .unl-gpa-output-panel{ grid-column: 1 / -1; padding: 14px; }.tc-wp-tool-root .unl-course-row{ gap: 9px; }.tc-wp-tool-root .unl-preview-card{ padding: 12px; }.tc-wp-tool-root .unl-preview-card span{ font-size: 13px; }.tc-wp-tool-root .unl-preview-card strong{ font-size: 19px; }.tc-wp-tool-root .unl-main-score{ font-size: 54px; }.tc-wp-tool-root .unl-gpa-grid, .tc-wp-tool-root .unl-settings-grid, .tc-wp-tool-root .unl-preview-grid, .tc-wp-tool-root .unl-shortcuts{ gap: 10px; }}@media (min-width: 430px) and (max-width: 767px) {.tc-wp-tool-root .unl-gpa-tool-wrap{ padding: 26px 14px; }.tc-wp-tool-root .unl-gpa-card, .tc-wp-tool-root .unl-shortcuts{ max-width: 100%; }.tc-wp-tool-root .unl-gpa-header h1{ font-size: 34px; }.tc-wp-tool-root .unl-gpa-header p{ font-size: 16px; }.tc-wp-tool-root .unl-settings-grid{ grid-template-columns: 1fr 1fr; }.tc-wp-tool-root .unl-custom-scale-field{ grid-column: 1 / -1; }.tc-wp-tool-root .unl-field label{ font-size: 13px; }.tc-wp-tool-root .unl-field input, .tc-wp-tool-root .unl-field select{ min-height: 46px; padding: 11px 12px; font-size: 15px; }.tc-wp-tool-root .unl-btn, .tc-wp-tool-root .unl-shortcut, .tc-wp-tool-root .unl-remove-course{ min-height: 46px; padding: 11px 13px; font-size: 14px; }.tc-wp-tool-root .unl-gpa-grid, .tc-wp-tool-root .unl-course-row, .tc-wp-tool-root .unl-preview-grid{ grid-template-columns: 1fr !important; }.tc-wp-tool-root .unl-gpa-input-panel, .tc-wp-tool-root .unl-gpa-output-panel{ grid-column: 1 / -1; padding: 15px; }.tc-wp-tool-root .unl-preview-card{ padding: 14px; }.tc-wp-tool-root .unl-preview-card span{ font-size: 13px; }.tc-wp-tool-root .unl-preview-card strong{ font-size: 20px; }.tc-wp-tool-root .unl-main-score{ font-size: 60px; }.tc-wp-tool-root .unl-gpa-grid, .tc-wp-tool-root .unl-settings-grid, .tc-wp-tool-root .unl-preview-grid, .tc-wp-tool-root .unl-shortcuts{ gap: 12px; }}@media (min-width: 768px) and (max-width: 1023px) {.tc-wp-tool-root .unl-gpa-tool-wrap{ padding: 36px 22px; }.tc-wp-tool-root .unl-gpa-card, .tc-wp-tool-root .unl-shortcuts{ max-width: 880px; }.tc-wp-tool-root .unl-gpa-header h1{ font-size: 42px; }.tc-wp-tool-root .unl-gpa-header p{ font-size: 17px; }.tc-wp-tool-root .unl-settings-grid{ grid-template-columns: repeat(3, 1fr); }.tc-wp-tool-root .unl-course-row{ grid-template-columns: 1.6fr 0.8fr 0.9fr 48px; }.tc-wp-tool-root .unl-field label{ font-size: 13px; }.tc-wp-tool-root .unl-field input, .tc-wp-tool-root .unl-field select{ min-height: 46px; padding: 11px 12px; font-size: 15px; }.tc-wp-tool-root .unl-btn, .tc-wp-tool-root .unl-shortcut, .tc-wp-tool-root .unl-remove-course{ min-height: 46px; padding: 11px 14px; font-size: 14px; }.tc-wp-tool-root .unl-action-row, .tc-wp-tool-root .unl-output-actions, .tc-wp-tool-root .unl-shortcuts{ grid-template-columns: repeat(2, 1fr); }.tc-wp-tool-root .unl-preview-grid{ grid-template-columns: repeat(2, 1fr); }.tc-wp-tool-root .unl-preview-card{ padding: 15px; }.tc-wp-tool-root .unl-preview-card span{ font-size: 13px; }.tc-wp-tool-root .unl-preview-card strong{ font-size: 21px; }.tc-wp-tool-root .unl-main-score{ font-size: 66px; }.tc-wp-tool-root .unl-gpa-grid, .tc-wp-tool-root .unl-settings-grid, .tc-wp-tool-root .unl-preview-grid{ gap: 13px; }}@media (min-width: 1024px) and (max-width: 1199px) {.tc-wp-tool-root .unl-gpa-tool-wrap{ padding: 42px 26px; }.tc-wp-tool-root .unl-gpa-card, .tc-wp-tool-root .unl-shortcuts{ max-width: 1100px; }.tc-wp-tool-root .unl-gpa-header h1{ font-size: 48px; }.tc-wp-tool-root .unl-gpa-header p{ font-size: 18px; }.tc-wp-tool-root .unl-gpa-grid{ grid-template-columns: minmax(0, 1.25fr) minmax(0, 0.75fr); }.tc-wp-tool-root .unl-settings-grid{ grid-template-columns: repeat(3, 1fr); }.tc-wp-tool-root .unl-course-row{ grid-template-columns: minmax(0, 1.6fr) minmax(0, 0.72fr) minmax(0, 0.9fr) 46px; }.tc-wp-tool-root .unl-field label{ font-size: 13px; }.tc-wp-tool-root .unl-field input, .tc-wp-tool-root .unl-field select{ min-height: 46px; padding: 11px 12px; font-size: 15px; }.tc-wp-tool-root .unl-btn, .tc-wp-tool-root .unl-shortcut, .tc-wp-tool-root .unl-remove-course{ min-height: 46px; padding: 11px 14px; font-size: 14px; }.tc-wp-tool-root .unl-action-row, .tc-wp-tool-root .unl-output-actions{ grid-template-columns: repeat(2, 1fr); }.tc-wp-tool-root .unl-shortcuts{ grid-template-columns: repeat(4, 1fr); }.tc-wp-tool-root .unl-preview-grid{ grid-template-columns: repeat(3, 1fr); }.tc-wp-tool-root .unl-preview-card{ padding: 14px; }.tc-wp-tool-root .unl-preview-card span{ font-size: 12px; }.tc-wp-tool-root .unl-preview-card strong{ font-size: 20px; }.tc-wp-tool-root .unl-main-score{ font-size: 68px; }.tc-wp-tool-root .unl-gpa-grid, .tc-wp-tool-root .unl-settings-grid, .tc-wp-tool-root .unl-preview-grid{ gap: 14px; }}@media (min-width: 1200px) {.tc-wp-tool-root .unl-gpa-tool-wrap{ padding: 48px 32px; }.tc-wp-tool-root .unl-gpa-card, .tc-wp-tool-root .unl-shortcuts{ max-width: 1180px; }.tc-wp-tool-root .unl-gpa-header h1{ font-size: 54px; }.tc-wp-tool-root .unl-gpa-header p{ font-size: 18px; }.tc-wp-tool-root .unl-gpa-grid{ grid-template-columns: minmax(0, 1.3fr) minmax(0, 0.8fr); }.tc-wp-tool-root .unl-settings-grid{ grid-template-columns: repeat(3, 1fr); }.tc-wp-tool-root .unl-course-row{ grid-template-columns: minmax(0, 1.7fr) minmax(0, 0.72fr) minmax(0, 0.9fr) 48px; }.tc-wp-tool-root .unl-field label{ font-size: 13px; }.tc-wp-tool-root .unl-field input, .tc-wp-tool-root .unl-field select{ min-height: 48px; padding: 12px 13px; font-size: 15px; }.tc-wp-tool-root .unl-btn, .tc-wp-tool-root .unl-shortcut, .tc-wp-tool-root .unl-remove-course{ min-height: 48px; padding: 12px 15px; font-size: 15px; }.tc-wp-tool-root .unl-action-row, .tc-wp-tool-root .unl-output-actions{ grid-template-columns: repeat(2, 1fr); }.tc-wp-tool-root .unl-shortcuts{ grid-template-columns: repeat(4, 1fr); }.tc-wp-tool-root .unl-preview-grid{ grid-template-columns: repeat(4, 1fr); }.tc-wp-tool-root .unl-preview-card{ padding: 15px; }.tc-wp-tool-root .unl-preview-card span{ font-size: 12px; }.tc-wp-tool-root .unl-preview-card strong{ font-size: 20px; }.tc-wp-tool-root .unl-main-score{ font-size: 74px; }.tc-wp-tool-root .unl-gpa-grid, .tc-wp-tool-root .unl-settings-grid, .tc-wp-tool-root .unl-preview-grid{ gap: 14px; }}.tc-wp-tool-root{
  position: relative !important;
  top: auto !important;
  left: auto !important;
  right: auto !important;
  bottom: auto !important;
  margin-top: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
  z-index: 0 !important;
}

.tc-wp-tool-root .unl-add-course {}
.tc-wp-tool-root .unl-clear {}
.tc-wp-tool-root .unl-clear-output {}
.tc-wp-tool-root .unl-completed-credits {}
.tc-wp-tool-root .unl-copy-result {}
.tc-wp-tool-root .unl-custom-scale {}
.tc-wp-tool-root .unl-decimals {}
.tc-wp-tool-root .unl-grade-scale {}
.tc-wp-tool-root .unl-previous-gpa {}
.tc-wp-tool-root .unl-scale-label {}
.tc-wp-tool-root .unl-semester-label {}
.tc-wp-tool-root .unl-total-credits {}
.tc-wp-tool-root .unl-total-points {}
.tc-wp-tool-root .unl-valid-courses {}