/* PMP study plan — typography & colors aligned with review-us.css */
/* Header/nav: white like other pages (review-us). Grey surface only on #app content. */
.page-wrapper:has(.study-plan),
.main-wrapper:has(.study-plan){
  background-color:var(--background-color--background-primary,#fff);
}
#app.study-plan{
  --blue:var(--_primitives---blue--100,#428dff);
  --blue-l:#e9f2ff;
  --blue-m:var(--_primitives---blue--40,#a0c4f8);
  --blue-d:var(--_primitives---blue--70,#5495f2);
  --amber:var(--_primitives---brand--yellow,#fcbd49);
  --text:var(--color-scheme-1--text,#141414);
  --sub:var(--_primitives---neutrals--dark-grey,#6f6f6f);
  --hint:var(--_primitives---neutrals--grey-2,#999);
  --border:var(--_primitives---neutrals--grey,#cacaca);
  --surface:#fafafa;
  --white:var(--_primitives---neutrals--white,#fff);
  --green:#16a34a;
  --green-l:#dcfce7;
  --red:#e23939;
  --fd-grey:#8d8d8d;
  --study-plan-heading-optical-offset:-55px;
  --study-plan-success-heading-optical-offset:-38px;
  --study-plan-content-max:900px;
  --study-plan-copy-max:900px;
  --study-plan-subcopy-max:900px;
  --font-body:var(--_typography---font-styles--body,"Opensans Variablefont Wdth Wght",Arial,sans-serif);
  --font-heading:var(--_typography---font-styles--heading,Shipporiantique,Arial,sans-serif);
  --font-accent:var(--_typography---font-styles--span-font,"Lora Variablefont Wght","Times New Roman",sans-serif);
  font-family:var(--font-body);
  font-size:1rem;
  line-height:1.6;
  color:var(--text);
  background:var(--surface);
  padding:32px 0 80px;
  width:100%;
}
.main-wrapper:has(.study-plan) #navigation,
.main-wrapper:has(.study-plan) #navigation .navbar2_component{
  background-color:var(--background-color--background-primary,var(--_primitives---neutrals--white,#fff));
}
#app.study-plan,
#app.study-plan *,
#app.study-plan *::before,
#app.study-plan *::after{
  box-sizing:border-box;
}

#app.study-plan .sp-wrap{
  max-width:920px;
  margin:0 auto;
  padding:0 24px;
}

#app.study-plan .wizard{
  background:transparent;
  border:none;
  border-radius:0;
  overflow:visible;
}

#app.study-plan .wiz-top{
  padding:28px 0 0;
  max-width:var(--study-plan-content-max);
  margin:0 auto;
}
#app.study-plan .wiz-steps{
  display:flex;
  width:100%;
  background:var(--white);
  border:1px solid var(--border);
  border-radius:14px;
  overflow:hidden;
}
#app.study-plan .wiz-step{
  flex:1;
  display:block;
  padding:14px 10px;
  text-align:center;
  border-right:1px solid var(--border);
  position:relative;
  transition:background .2s,color .2s;
  background:var(--white);
  min-height:56px;
}
#app.study-plan .wiz-step:last-child{border-right:none;}
#app.study-plan .wiz-step.done{
  background:var(--blue-l);
  cursor:pointer;
}
#app.study-plan .wiz-step.done:hover{
  background:#dceaff;
}
#app.study-plan .wiz-step.active{
  background:var(--blue);
  background-image:linear-gradient(45deg,var(--blue-d) 38%,var(--blue-m));
}
#app.study-plan .wiz-step-num{
  font-size:.75rem;
  font-weight:600;
  letter-spacing:.07em;
  text-transform:uppercase;
  line-height:1.2;
  color:var(--hint);
  display:block;
  margin:0 0 3px;
}
#app.study-plan .wiz-step.done .wiz-step-num{color:var(--blue);}
#app.study-plan .wiz-step.active .wiz-step-num{color:rgba(255,255,255,.85);}
#app.study-plan .wiz-step-lbl{
  display:block;
  font-size:.875rem;
  font-weight:600;
  color:var(--sub);
  line-height:1.3;
}
#app.study-plan .wiz-step.done .wiz-step-lbl{color:var(--text);}
#app.study-plan .wiz-step.active .wiz-step-lbl{color:#fff;}
#app.study-plan .wiz-step.done::after{
  content:'✓';
  position:absolute;
  top:50%;
  right:10px;
  transform:translateY(-50%);
  font-size:.75rem;
  color:var(--blue);
  font-weight:700;
  line-height:1;
}
#app.study-plan .wiz-step.active::after,
#app.study-plan .wiz-step:not(.done):not(.active)::after{content:none;}

/* Step hero — flows on page surface (review-us .hero) */
#app.study-plan .sp-hero{
  padding:0 0 32px;
  text-align:center;
  border-bottom:none;
  background:transparent;
  overflow:visible;
  max-width:var(--study-plan-copy-max);
  margin:0 auto;
}
#app.study-plan .sp-hero .hero-heading-wrap{
  margin-bottom:14px;
  line-height:1.2;
  overflow:visible;
  padding-bottom:12px;
  text-align:center !important;
  width:100%;
  max-width:var(--study-plan-copy-max);
  margin-left:auto;
  margin-right:auto;
  white-space:nowrap;
  transform:translateX(var(--study-plan-heading-optical-offset));
}
#app.study-plan .sp-hero .is-inline,
#app.study-plan .success-body .is-inline,
#app.study-plan .is-inline-accent{
  display:inline;
  position:relative;
}
#app.study-plan .sp-hero .vector,
#app.study-plan .success-body .vector{
  width:100%;
  max-width:none;
  position:absolute;
  inset:118% 0% auto;
  left:0;
  right:0;
  display:block;
  pointer-events:none;
}
#app.study-plan .sp-hero .heading-style-h1.is-inline,
#app.study-plan .success-body .heading-style-h1.is-inline{
  display:inline;
  font-size:clamp(2.9rem, 4.9vw, 3.5rem);
  line-height:1.2;
  font-weight:400;
  letter-spacing:normal;
  text-transform:none;
}
#app.study-plan .sp-hero .heading-style-h1.is-inline.blue,
#app.study-plan .success-body .heading-style-h1.is-inline.blue{
  font-family:var(--font-accent);
  color:var(--blue);
}
#app.study-plan .hero-h{
  font-family:var(--font-heading);
  font-size:1.25rem;
  font-weight:400;
  color:var(--text);
  line-height:1.4;
  letter-spacing:normal;
  margin-bottom:0;
}
#app.study-plan .hero-h em{
  font-family:var(--font-accent);
  color:var(--blue);
  font-style:normal;
}
#app.study-plan .hero-sub{
  font-size:1.125rem;
  color:var(--fd-grey);
  line-height:1.6;
  max-width:var(--study-plan-subcopy-max);
  margin:0 auto;
  font-weight:400;
  white-space:nowrap;
  text-align:center;
}
#app.study-plan .hero-sub.is-dark-grey{color:var(--fd-grey);}

/* Form block — single soft card on surface (review-us .sec-card) */
#app.study-plan .body{
  padding:28px;
  margin-bottom:0;
  background:var(--white);
  border:1px solid var(--_primitives---neutrals--light-grey,#f0f0f0);
  border-radius:14px;
  box-shadow:0 4px 6px -2px #00000008;
  max-width:var(--study-plan-content-max);
  margin-left:auto;
  margin-right:auto;
}

#app.study-plan .fg2{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:18px;}
#app.study-plan .fg{display:flex;flex-direction:column;margin-bottom:18px;}
#app.study-plan .fg.last,
#app.study-plan .fg2.last{margin-bottom:0;}
#app.study-plan .fl{
  font-size:1rem;
  font-weight:600;
  color:var(--text);
  margin-bottom:.75rem;
  letter-spacing:normal;
  line-height:1.4;
}
#app.study-plan .req{color:var(--blue);}
#app.study-plan .fi,
#app.study-plan .fsel{
  width:100%;
  min-height:2.75rem;
  height:auto;
  border:1px solid transparent;
  border-radius:12px;
  padding:.5rem .75rem;
  font-family:inherit;
  font-size:1rem;
  line-height:1.6;
  color:var(--text);
  background-color:#f5f5f5;
  outline:none;
  transition:border-color .15s,box-shadow .15s;
}
#app.study-plan .fi::placeholder{color:#c4c4c4;}
#app.study-plan .fi:focus,
#app.study-plan .fsel:focus{
  border-color:var(--hint);
  box-shadow:none;
}
#app.study-plan .fi.error,
#app.study-plan .fsel.error{
  border-color:var(--red) !important;
  box-shadow:0 0 0 3px rgba(226,57,57,.1);
}
#app.study-plan .fsel{
  appearance:none;
  cursor:pointer;
  color:var(--text);
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23999' stroke-width='2.5' stroke-linecap='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
  background-repeat:no-repeat;
  background-position:right 14px center;
  padding-right:36px;
}
#app.study-plan .fsel.sel{color:var(--text);}
#app.study-plan .err-msg{
  font-size:.875rem;
  font-weight:600;
  color:var(--red);
  margin-top:6px;
  line-height:1.4;
  display:none;
}
#app.study-plan .err-msg.show{display:block;}

/* Phone — country code + number (contact-us / review-us pattern) */
#app.study-plan .sp-phone-field{
  display:flex;
  gap:10px;
  align-items:stretch;
  width:100%;
}
#app.study-plan .sp-phone-code-wrap{
  flex:0 0 155px;
  min-width:155px;
}
#app.study-plan .sp-phone-number-wrap{
  flex:1;
  min-width:0;
}
#app.study-plan .sp-phone-number-wrap .fi{
  width:100%;
}
#app.study-plan .sp-phone-code-wrap .select2-container{width:100% !important;}
#app.study-plan .select2-container--default .select2-selection--single{
  height:2.75rem !important;
  min-height:2.75rem !important;
  border:1px solid transparent !important;
  border-radius:12px !important;
  background-color:#f5f5f5 !important;
  display:flex !important;
  align-items:center !important;
}
#app.study-plan .select2-container--default .select2-selection--single .select2-selection__rendered{
  display:flex !important;
  align-items:center !important;
  height:100% !important;
  line-height:1.6 !important;
  padding-left:.75rem !important;
  padding-right:28px !important;
  font-size:1rem !important;
  font-weight:400 !important;
  color:var(--text) !important;
}
#app.study-plan .select2-container--default .select2-selection--single .select2-selection__rendered .country-option{
  display:flex;
  align-items:center;
  gap:6px;
  min-width:0;
}
#app.study-plan .select2-container--default .select2-selection--single .select2-selection__rendered .country-flag{
  width:18px;
  height:13px;
  object-fit:cover;
  flex-shrink:0;
  border-radius:2px;
}
#app.study-plan .select2-container--default .select2-selection--single .select2-selection__rendered .country-code-text,
#app.study-plan .select2-container--default .select2-selection--single .select2-selection__rendered .country-iso-text{
  font-size:1rem;
  font-weight:400;
  color:var(--text);
  line-height:1.6;
}
#app.study-plan .select2-container--default .select2-selection--single .select2-selection__arrow{
  height:2.75rem !important;
}
#app.study-plan .sp-phone-code-wrap.error .select2-container--default .select2-selection--single{
  border-color:var(--red) !important;
  box-shadow:0 0 0 3px rgba(226,57,57,.1) !important;
}

#app.study-plan .yn-row{display:flex;gap:10px;}
#app.study-plan .yn-btn{
  flex:1;
  padding:.75rem 1rem;
  border-radius:12px;
  border:1px solid var(--border);
  background:var(--white);
  font-family:inherit;
  font-size:1rem;
  font-weight:600;
  line-height:1.4;
  color:var(--sub);
  cursor:pointer;
  transition:all .2s;
  text-align:center;
}
#app.study-plan .yn-btn:hover{border-color:var(--blue-m);}
#app.study-plan .yn-btn.active{
  border-color:var(--blue);
  background:var(--blue-l);
  color:var(--blue-d);
}

#app.study-plan .tiles{display:grid;gap:10px;margin-top:6px;}
#app.study-plan .t2{grid-template-columns:1fr 1fr;}
#app.study-plan .t3{grid-template-columns:repeat(3,1fr);}
#app.study-plan .t4{grid-template-columns:1fr 1fr;}
#app.study-plan .tile{
  border:1px solid var(--border);
  border-radius:12px;
  padding:12px 10px;
  cursor:pointer;
  transition:all .18s;
  background:var(--white);
  position:relative;
  overflow:hidden;
}
#app.study-plan .tile::before{
  content:'';
  position:absolute;
  top:0;
  left:0;
  right:0;
  height:3px;
  background:transparent;
  transition:background .18s;
}
#app.study-plan .tile:hover{border-color:var(--blue-m);}
#app.study-plan .tile:hover::before{background:var(--blue-m);}
#app.study-plan .tile.sel{border-color:var(--blue);background:var(--blue-l);}
#app.study-plan .tile.sel::before{background:var(--blue);}
#app.study-plan .tile-chk{
  position:absolute;
  top:9px;
  right:9px;
  width:20px;
  height:20px;
  border-radius:50%;
  background:var(--blue);
  display:none;
  align-items:center;
  justify-content:center;
}
#app.study-plan .tile-chk svg{width:11px;height:11px;stroke:#fff;stroke-width:3;}
#app.study-plan .tile.sel .tile-chk{display:flex;}
#app.study-plan .tile-num{
  font-size:1.125rem;
  font-weight:700;
  color:var(--border);
  letter-spacing:normal;
  line-height:1.2;
  margin-bottom:5px;
  transition:color .18s;
}
#app.study-plan .tile.sel .tile-num{color:var(--blue-m);}
#app.study-plan .tile-lbl{
  font-size:.875rem;
  font-weight:600;
  color:var(--sub);
  margin-bottom:2px;
  line-height:1.3;
}
#app.study-plan .tile.sel .tile-lbl{color:var(--text);}
#app.study-plan .tile-sub{
  font-size:.75rem;
  font-weight:600;
  color:var(--hint);
  line-height:1.3;
}
#app.study-plan .tile-full{grid-column:1/-1;}

#app.study-plan .wiz-foot{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:24px 0 0;
  background:transparent;
  max-width:var(--study-plan-content-max);
  margin:0 auto;
}
#app.study-plan .btn-back{
  font-size:1rem;
  font-weight:600;
  color:var(--sub);
  background:var(--white);
  border:1px solid var(--border);
  border-radius:14px;
  padding:.75rem 1.5rem;
  cursor:pointer;
  font-family:inherit;
  display:inline-flex;
  align-items:center;
  gap:8px;
  transition:all .27s;
}
#app.study-plan .btn-back:hover{
  border-color:var(--blue-m);
  background:var(--blue-l);
  color:var(--text);
}
#app.study-plan .btn-back:disabled{
  color:var(--hint);
  background:var(--white);
  border-color:var(--_primitives---neutrals--light-grey,#f0f0f0);
  cursor:not-allowed;
  opacity:.7;
  box-shadow:none;
}
#app.study-plan .btn-back:disabled:hover{
  border-color:var(--_primitives---neutrals--light-grey,#f0f0f0);
  background:var(--white);
  color:var(--hint);
}
#app.study-plan .step-ct{
  font-size:.75rem;
  font-weight:600;
  color:var(--hint);
  letter-spacing:.07em;
  text-transform:uppercase;
}
#app.study-plan .btn-next{
  display:inline-flex;
  align-items:center;
  gap:8px;
  background-image:linear-gradient(45deg,var(--blue-d) 38%,var(--blue-m));
  color:var(--white);
  font-size:1rem;
  font-weight:600;
  padding:.75rem 1.5rem;
  border-radius:14px;
  border:1px solid #e9f2ff;
  cursor:pointer;
  font-family:inherit;
  letter-spacing:normal;
  box-shadow:inset 0 -4px 8px #034bb780;
  transition:all .27s;
}
#app.study-plan .btn-next:hover{
  background-image:linear-gradient(45deg,var(--blue) 38%,var(--blue-m));
  transform:translateY(-1px);
}
#app.study-plan .btn-next.amber{
  background-image:linear-gradient(45deg,#e5a832 38%,var(--amber));
  border-color:#faeeda;
  color:#78350f;
  box-shadow:inset 0 -4px 8px rgba(120,53,15,.25);
}
#app.study-plan .btn-next.amber:hover{
  background-image:linear-gradient(45deg,var(--amber) 38%,#fdd985);
}
#app.study-plan .btn-next:disabled,
#app.study-plan .btn-next.is-loading{
  opacity:.72;
  cursor:not-allowed;
  transform:none;
  pointer-events:none;
}

#app.study-plan .success-body{
  padding:44px 24px 38px;
  text-align:center;
  background:var(--white);
  border:1px solid var(--_primitives---neutrals--light-grey,#f0f0f0);
  border-radius:14px;
  box-shadow:0 4px 6px -2px #00000008;
  overflow:visible;
  max-width:760px;
  margin:0 auto;
}
#app.study-plan .success-body .success-sp-hero{
  padding:0 0 8px;
  overflow:visible;
}
#app.study-plan .success-body .hero-heading-wrap{
  padding-bottom:28px;
  margin-bottom:0;
  max-width:760px;
  white-space:normal;
  line-height:1.15;
  margin-left:auto;
  margin-right:auto;
  transform:translateX(var(--study-plan-success-heading-optical-offset));
}
#app.study-plan .success-body .hero-sub{
  max-width:620px;
  white-space:normal;
  text-wrap:balance;
  line-height:1.6;
  margin-left:auto;
  margin-right:auto;
  margin-bottom:28px;
}
#app.study-plan .success-body .heading-style-h1.is-inline{
  font-size:clamp(2.75rem, 4.5vw, 3.25rem);
}
#app.study-plan .s-icon{
  width:84px;
  height:84px;
  border-radius:50%;
  background:var(--green-l);
  border:3px solid var(--green);
  display:flex;
  align-items:center;
  justify-content:center;
  margin:0 auto 24px;
  animation:sp-pop .4s cubic-bezier(.34,1.56,.64,1);
}
@keyframes sp-pop{
  from{transform:scale(0);opacity:0;}
  to{transform:scale(1);opacity:1;}
}
#app.study-plan .s-icon svg{width:38px;height:38px;stroke:var(--green);stroke-width:2.5;}
#app.study-plan .btn-view{
  display:inline-flex;
  align-items:center;
  gap:8px;
  background-image:linear-gradient(45deg,var(--blue-d) 38%,var(--blue-m));
  color:var(--white);
  font-size:1rem;
  font-weight:600;
  padding:.75rem 2rem;
  border-radius:14px;
  border:1px solid #e9f2ff;
  cursor:pointer;
  font-family:inherit;
  letter-spacing:normal;
  box-shadow:inset 0 -4px 8px #034bb780;
  transition:all .27s;
}
#app.study-plan .btn-view:hover{
  background-image:linear-gradient(45deg,var(--blue) 38%,var(--blue-m));
  transform:translateY(-1px);
}
#app.study-plan .s-note{
  font-size:.875rem;
  color:var(--hint);
  margin-top:10px;
  font-style:italic;
  line-height:1.4;
}

/* Chart page — hero on surface, one card for chart content */
#app.study-plan .chart-wizard{
  background:var(--white);
  border:1px solid var(--_primitives---neutrals--light-grey,#f0f0f0);
  border-radius:14px;
  /* allow expanded hw cards to overflow without clipping */
  overflow:visible;
  box-shadow:0 4px 6px -2px #00000008;
  margin-bottom:0;
}

/* Page 6 (Chart) — design from ehs-study-plan-wizard (2).html */
#app.study-plan #page6 .sp-wrap.wide{
  max-width:1200px;
  margin:0 auto;
}
#app.study-plan #page6 .chart-hd{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:18px 28px;
  border-bottom:1px solid var(--_primitives---neutrals--light-grey,#f0f0f0);
  background:var(--white);
  flex-wrap:wrap;
  gap:14px;
}
#app.study-plan #page6 .chart-hd-left .hero-heading-wrap{
  margin-bottom:6px;
  padding-bottom:10px;
  line-height:1.15;
  transform:none;
  white-space:nowrap;
}
#app.study-plan #page6 .chart-hd-left .heading-style-h1.is-inline{
  font-size:2.5rem;
  line-height:1.15;
}
#app.study-plan #page6 .chart-hd-left .vector{
  inset:110% 0% auto;
}
#app.study-plan #page6 .chart-meta{
  font-size:.875rem;
  color:var(--hint);
  margin-top:3px;
  font-weight:600;
}
#app.study-plan #page6 .chart-hd-right{
  display:flex;
  align-items:flex-end;
  gap:10px;
  flex-wrap:wrap;
}
#app.study-plan #page6 .chart-content[hidden]{display:none!important;}
#app.study-plan #page6 .ctrl-g{display:flex;flex-direction:column;gap:3px;}
#app.study-plan #page6 .ctrl-l{
  font-size:.625rem;
  font-weight:700;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:var(--hint);
  margin:0;
}
#app.study-plan #page6 .ctrl-in,
#app.study-plan #page6 .ctrl-sel{
  min-height:40px;
  height:40px;
  border:1.5px solid var(--border);
  border-radius:9px;
  padding:0 12px;
  font-family:inherit;
  font-size:.8125rem;
  line-height:1.4;
  color:var(--text);
  background:var(--white);
  outline:none;
  transition:border-color .15s;
}
#app.study-plan #page6 .ctrl-in:focus,
#app.study-plan #page6 .ctrl-sel:focus{
  border-color:var(--blue);
  box-shadow:0 0 0 3px rgba(66,141,255,.12);
}
#app.study-plan #page6 .ctrl-in{min-width:160px;}
#app.study-plan #page6 .ctrl-sel{
  min-width:160px;
  appearance:none;
  cursor:pointer;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='11' height='11' viewBox='0 0 24 24' fill='none' stroke='%2394A3B8' stroke-width='2.5' stroke-linecap='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
  background-repeat:no-repeat;
  background-position:right 12px center;
  padding-right:32px;
}
#app.study-plan #page6 .ref-btn{
  height:40px;
  min-height:40px;
  padding:0 22px;
  border-radius:12px;
  box-shadow:inset 0 -4px 8px #034bb780;
}

#app.study-plan #page6 .chart-outer{
  display:flex;
  overflow-x:auto;
  background:var(--white);
  -webkit-overflow-scrolling:touch;
}
#app.study-plan #page6 .pct-axis{
  width:48px;
  flex-shrink:0;
  border-right:1px solid var(--border);
  position:relative;
  background:var(--surface);
}
#app.study-plan #page6 .pct-lbl{
  position:absolute;
  right:8px;
  font-size:11px;
  font-weight:600;
  color:var(--hint);
  transform:translateY(-50%);
}
#app.study-plan #page6 .chart-inner{flex:1;min-width:0;}
#app.study-plan #page6 .wk-row{
  display:flex;
  width:100%;
  background:var(--white);
  border-bottom:1px solid var(--border);
  padding:9px 0;
}
#app.study-plan #page6 .wk{
  flex:1;
  text-align:center;
  padding:8px 4px;
  line-height:1.35;
}
#app.study-plan #page6 .wk-phase{
  display:block;
  font-size:10px;
  font-weight:700;
  color:var(--blue);
  margin-bottom:2px;
}
#app.study-plan #page6 .wk-phase--done{color:var(--green);}
#app.study-plan #page6 .wk-dates{
  display:block;
  font-size:10px;
  font-weight:500;
  color:var(--sub);
}
#app.study-plan #page6 .swimlane{
  border-radius:0;
  border-left:none;
  border-right:none;
  border-bottom:none;
  height:calc(100vh - 310px);
  min-height:560px;
  max-height:740px;
  background:var(--surface);
  padding-top:110px;
  /* allow expanded cards (tasks) to show */
  overflow:visible;
}

#app.study-plan #page6 .h-gridline{
  position:absolute;
  left:0;
  right:0;
  height:1px;
  background:rgba(0,0,0,.05);
  pointer-events:none;
}
#app.study-plan #page6 .wk-vline{
  position:absolute;
  top:0;
  bottom:0;
  width:1px;
  background:rgba(0,0,0,.05);
  pointer-events:none;
}

/* floating homework cards (wizard2 design) */
#app.study-plan #page6 .hw-card{
  position:absolute;
  width:155px;
  background:#fff;
  border:1px solid #e5e7eb;
  border-radius:12px;
  padding:12px 14px;
  box-shadow:0 2px 8px rgba(0,0,0,.06);
  cursor:pointer;
  z-index:5;
  transition:box-shadow .2s,transform .2s,opacity .4s;
}
#app.study-plan #page6 .hw-card.open{
  z-index:50;
}
#app.study-plan #page6 .hw-card:hover{
  transform:translateY(-2px);
  box-shadow:0 8px 24px rgba(0,0,0,.14);
  z-index:50;
}
#app.study-plan #page6 .hw-card-badge{
  display:inline-block;
  font-size:9px;
  font-weight:800;
  padding:3px 8px;
  border-radius:999px;
  margin-bottom:6px;
}
#app.study-plan #page6 .hw-card-date{
  font-size:11px;
  font-weight:400;
  color:var(--hint);
  margin-bottom:4px;
}
#app.study-plan #page6 .hw-card-name{
  font-size:14px;
  font-weight:800;
  color:var(--text);
  margin-bottom:5px;
  line-height:1.25;
}
#app.study-plan #page6 .hw-card-hrs{
  font-size:13px;
  font-weight:700;
  color:var(--blue);
  margin-bottom:6px;
}
#app.study-plan #page6 .hw-card-plus{
  position:absolute;
  top:10px;
  right:10px;
  width:20px;
  height:20px;
  border-radius:50%;
  background:var(--blue-l);
  color:var(--blue);
  display:flex;
  align-items:center;
  justify-content:center;
  font-weight:400;
  line-height:1;
  font-size:14px;
}
#app.study-plan #page6 .hw-card.open .hw-card-plus{
  font-size:0;
}
#app.study-plan #page6 .hw-card.open .hw-card-plus::before{
  content:'−';
  font-size:14px;
  line-height:1;
}
#app.study-plan #page6 .hw-card-tasks{
  display:none;
  margin-top:8px;
  border-top:1px solid rgba(226,232,240,.8);
  padding-top:8px;
  max-height:none;
  overflow:visible;
}
#app.study-plan #page6 .hw-card-tasks.is-typing{
  display:block;
}
#app.study-plan #page6 .hw-card.dark-card .hw-card-tasks.is-typing{
  border-top-color:rgba(255,255,255,.12);
}
#app.study-plan #page6 .hw-card.green-card .hw-card-tasks.is-typing{
  border-top-color:#bbf7d0;
}
#app.study-plan #page6 .hw-card.open .hw-card-tasks{
  display:block!important;
}
#app.study-plan #page6 .hw-task-row{
  display:flex;
  justify-content:space-between;
  gap:8px;
  padding:3px 0;
  font-size:11px;
  border-bottom:1px dashed rgba(148,163,184,.25);
}
#app.study-plan #page6 .hw-task-row:last-child{border-bottom:none;}
#app.study-plan #page6 .hw-task-name{color:var(--text);font-weight:400;flex:1;min-width:0;}
#app.study-plan #page6 .hw-task-hrs{color:var(--hint);font-weight:800;white-space:nowrap;}

#app.study-plan #page6 .hw-card.dark-card{
  background:#0f172a;
  border-color:#0f172a;
}
#app.study-plan #page6 .hw-card.dark-card .hw-card-name{color:#fff;}
#app.study-plan #page6 .hw-card.dark-card .hw-card-date{color:rgba(255,255,255,.6);}
#app.study-plan #page6 .hw-card.dark-card .hw-card-hrs{color:#93c5fd;}
#app.study-plan #page6 .hw-card.dark-card .hw-card-plus{background:rgba(255,255,255,.12);color:#fff;}
#app.study-plan #page6 .hw-card.dark-card .hw-task-name{color:rgba(255,255,255,.92);}
#app.study-plan #page6 .hw-card.dark-card .hw-task-hrs{color:rgba(255,255,255,.6);}

#app.study-plan #page6 .hw-card.green-card{
  background:#f0fdf4;
  border-color:#bbf7d0;
}
#app.study-plan #page6 .hw-card.green-card .hw-card-name{color:var(--green-d,#14532d);}
#app.study-plan #page6 .hw-card.green-card .hw-card-hrs{color:var(--green);}
#app.study-plan #page6 .hw-card.green-card .hw-card-plus{
  background:var(--green-l);
  color:var(--green);
}
#app.study-plan .ctrl-g{display:flex;flex-direction:column;gap:3px;flex:1;min-width:180px;}
#app.study-plan .ctrl-l{
  font-size:1rem;
  font-weight:600;
  color:var(--text);
  letter-spacing:normal;
  text-transform:none;
  margin-bottom:.75rem;
  line-height:1.4;
}
#app.study-plan .ctrl-in,
#app.study-plan .ctrl-sel{
  min-height:2.75rem;
  height:auto;
  border:1px solid transparent;
  border-radius:12px;
  padding:.5rem .75rem;
  font-family:inherit;
  font-size:1rem;
  line-height:1.6;
  color:var(--text);
  background-color:#f5f5f5;
  outline:none;
  transition:border-color .15s,box-shadow .15s;
}
#app.study-plan .ctrl-in:focus,
#app.study-plan .ctrl-sel:focus{
  border-color:var(--hint);
  box-shadow:none;
}
#app.study-plan .ctrl-sel{
  appearance:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23999' stroke-width='2.5' stroke-linecap='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
  background-repeat:no-repeat;
  background-position:right 14px center;
  padding-right:36px;
}
#app.study-plan .ref-btn{
  min-height:2.75rem;
  background-image:linear-gradient(45deg,var(--blue-d) 38%,var(--blue-m));
  color:var(--white);
  font-size:1rem;
  font-weight:600;
  padding:.75rem 1.5rem;
  border-radius:14px;
  border:1px solid #e9f2ff;
  cursor:pointer;
  font-family:inherit;
  display:flex;
  align-items:center;
  gap:8px;
  transition:all .27s;
  white-space:nowrap;
  flex-shrink:0;
  box-shadow:inset 0 -4px 8px #034bb780;
}
#app.study-plan .ref-btn:hover{
  background-image:linear-gradient(45deg,var(--blue) 38%,var(--blue-m));
  transform:translateY(-1px);
}
#app.study-plan .ref-btn svg{width:14px;height:14px;stroke:#fff;stroke-width:2.5;}

#app.study-plan .chart-area{
  overflow-x:auto;
  overflow-y:visible;
  padding:0 20px 24px;
  background:var(--white);
  -webkit-overflow-scrolling:touch;
}
#app.study-plan .chart-scroll{
  min-width:100%;
}
#app.study-plan .wk-row{
  display:flex;
  width:100%;
  background:var(--white);
  border-bottom:1px solid var(--border);
  padding:12px 4px;
}
#app.study-plan .wk{
  flex:1 0 76px;
  min-width:68px;
  font-size:.75rem;
  font-weight:600;
  text-transform:uppercase;
  letter-spacing:.04em;
  color:var(--hint);
  text-align:center;
  line-height:1.2;
  padding:0 4px;
  overflow:visible;
  white-space:nowrap;
}
#app.study-plan .swimlane{
  position:relative;
  height:480px;
  min-height:400px;
  max-height:520px;
  background:var(--surface);
  overflow:hidden;
  width:100%;
  border-radius:12px;
  border:1px solid var(--border);
}
#app.study-plan .vline{
  position:absolute;
  top:0;
  bottom:0;
  width:1px;
  background:rgba(0,0,0,.06);
  pointer-events:none;
  z-index:0;
}
#app.study-plan .curve-svg{
  position:absolute;
  bottom:0;
  left:0;
  width:100%;
  height:100%;
  pointer-events:none;
  z-index:1;
}
#app.study-plan .hw{
  position:absolute;
  bottom:0;
  border-radius:10px 10px 0 0;
  cursor:pointer;
  transition:filter .18s;
  z-index:2;
  box-sizing:border-box;
}
#app.study-plan .hw:hover{filter:brightness(1.07);}
#app.study-plan #hw-tooltip{
  display:none;
  position:absolute;
  width:252px;
  background:var(--text);
  border-radius:12px;
  padding:14px 16px;
  z-index:400;
  box-shadow:0 8px 32px rgba(0,0,0,.3);
  pointer-events:none;
}
#app.study-plan #hw-tooltip.show{display:block;}
#app.study-plan .tt-badge{
  display:inline-block;
  font-size:8px;
  font-weight:700;
  padding:2px 8px;
  border-radius:4px;
  margin-bottom:8px;
}
#app.study-plan .tt-title{
  font-size:14px;
  font-weight:800;
  color:#fff;
  margin-bottom:2px;
  letter-spacing:-.01em;
}
#app.study-plan .tt-meta{font-size:11px;color:rgba(255,255,255,.6);margin-bottom:2px;}
#app.study-plan .tt-date{font-size:11px;color:rgba(255,255,255,.5);margin-bottom:10px;}
#app.study-plan .tt-div{height:1px;background:rgba(255,255,255,.12);margin-bottom:9px;}
#app.study-plan .tt-lbl{
  font-size:9.5px;
  font-weight:700;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:rgba(255,255,255,.4);
  margin-bottom:6px;
}
#app.study-plan .tt-task{
  display:flex;
  align-items:center;
  gap:8px;
  padding:4px 0;
  border-bottom:1px solid rgba(255,255,255,.07);
  font-size:12px;
}
#app.study-plan .tt-task:last-child{border-bottom:none;}
#app.study-plan .tt-tn{color:rgba(255,255,255,.85);flex:1;line-height:1.4;}
#app.study-plan .tt-bar{
  width:32px;
  height:3px;
  border-radius:99px;
  background:rgba(255,255,255,.15);
  overflow:hidden;
  flex-shrink:0;
}
#app.study-plan .tt-bf{height:100%;border-radius:99px;background:rgba(255,255,255,.5);}
#app.study-plan .tt-th{
  font-size:11px;
  font-weight:700;
  color:rgba(255,255,255,.45);
  white-space:nowrap;
}
#app.study-plan .hw-top-label{
  position:absolute;
  top:-22px;
  left:0;
  right:0;
  text-align:center;
  font-size:.75rem;
  font-weight:600;
  color:var(--sub);
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  line-height:1.2;
}
#app.study-plan .chart-foot{
  padding:32px 28px 28px;
  margin-top:8px;
  border-top:1px solid var(--_primitives---neutrals--light-grey,#f0f0f0);
  background:var(--surface);
}
#app.study-plan .chart-foot-btns{
  width:100%;
  gap:1rem;
  padding-top:4px;
}
#app.study-plan .chart-foot-btns .button{
  flex:1;
  min-width:0;
  font-family:inherit;
  font-size:1rem;
  line-height:1.4;
}
#app.study-plan .chart-foot-btns.is-center .button{
  flex:0 0 auto;
}

#app.study-plan .sp-page{display:none;}
#app.study-plan .sp-page.active{display:block;}

#app.study-plan .sp-toast{
  position:fixed;
  top:24px;
  left:50%;
  transform:translateX(-50%);
  background:var(--text);
  color:#fff;
  font-size:1rem;
  font-weight:600;
  line-height:1.4;
  padding:12px 24px;
  border-radius:14px;
  opacity:0;
  pointer-events:none;
  transition:opacity .3s;
  z-index:9999;
  white-space:nowrap;
  font-family:inherit;
}
#app.study-plan .sp-toast.show{opacity:1;}

@media(max-width:640px){
  #app.study-plan{padding:24px 0 60px;}
  #app.study-plan .sp-wrap{padding:0 16px;}
  #app.study-plan .body{padding:20px 18px;}
  #app.study-plan .wiz-foot{
    padding:20px 0 48px;
    flex-direction:column;
    align-items:stretch;
    gap:12px;
  }
  #app.study-plan .wiz-foot .btn-back{order:1;}
  #app.study-plan .wiz-foot .btn-next{order:2;}
  #app.study-plan .wiz-foot .step-ct{
    order:3;
    text-align:center;
    width:100%;
  }
  #app.study-plan .wiz-top{padding:20px 0 0;}
  #app.study-plan .wiz-steps{display:grid;grid-template-columns:1fr 1fr;}
  #app.study-plan .wiz-step:nth-child(2){border-right:none;}
  #app.study-plan .wiz-step:nth-child(-n+2){border-bottom:1px solid var(--border);}
  #app.study-plan .sp-hero .hero-heading-wrap,
  #app.study-plan .hero-sub{white-space:normal;}
  #app.study-plan .sp-hero .hero-heading-wrap,
  #app.study-plan .success-body .hero-heading-wrap{transform:none;}
  #app.study-plan .chart-ctrls{padding:16px;flex-direction:column;align-items:stretch;}
  #app.study-plan .chart-area{padding:0 16px 16px;}
  #app.study-plan .chart-foot{padding:24px 16px 16px;margin-top:8px;}
  #app.study-plan .chart-foot-btns{flex-direction:column;}
  #app.study-plan .chart-foot-btns .button{width:100%;}
  #app.study-plan .chart-foot-btns.is-center{align-items:center;}
  #app.study-plan .chart-foot-btns.is-center .button{width:auto;}
  #app.study-plan .swimlane{height:400px;min-height:360px;}
  #app.study-plan .t3{grid-template-columns:1fr 1fr;}
  #app.study-plan .fg2{grid-template-columns:1fr;}
  #app.study-plan .success-body{padding:56px 0;}
  #app.study-plan .ref-btn{justify-content:center;width:100%;}
  #app.study-plan .btn-next,
  #app.study-plan .btn-back{width:100%;justify-content:center;}
}
@media(max-width:480px){
  #app.study-plan .sp-hero .vector,
  #app.study-plan .sp-hero .vector{top:103%;inset:auto 0% auto;}
  #app.study-plan .sp-hero .heading-style-h1.is-inline{font-size:2.25rem;}
  #app.study-plan .hero-h{font-size:1.125rem;}
  #app.study-plan #page6 .is-inline-accent{white-space:normal;}
  #app.study-plan .wk{font-size:.7rem;min-width:56px;flex-basis:56px;}
}
@media(max-width:400px){
  #app.study-plan .t4{grid-template-columns:1fr;}
}
