/* ============================================================
   오늘의 미션 메인 화면 전면 개편 — 2026-07-29
   today.html 전용. 기존 공용 레이아웃과 데이터 로직은 건드리지 않는다.
   ============================================================ */
body[data-study-page="today"]{
  background:#f5f6f9!important;
  color:#111a33;
}
body[data-study-page="today"] .main-content{
  padding:18px clamp(14px,1.15vw,22px) 30px!important;
  background:linear-gradient(180deg,#f8f9fb 0%,#f4f5f8 100%)!important;
}
body[data-study-page="today"] #studyToolsRoot{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
}
body[data-study-page="today"] .today-mission-redesign{
  --tm-purple:#6137e6;
  --tm-purple-dark:#4f2acb;
  --tm-navy:#111a33;
  --tm-muted:#70798d;
  --tm-border:#e5e8f0;
  --tm-surface:#ffffff;
  display:flex;
  flex-direction:column;
  gap:14px;
  width:100%;
  color:var(--tm-navy);
  letter-spacing:-0.02em;
}
body[data-study-page="today"] .today-mission-redesign *{box-sizing:border-box;}
body[data-study-page="today"] .today-mission-redesign svg{display:block;width:22px;height:22px;}

/* 상단 히어로 */
body[data-study-page="today"] .tm-hero{
  display:grid;
  grid-template-columns:minmax(0,1fr) 180px minmax(220px,260px);
  align-items:center;
  min-height:178px;
  padding:25px 30px;
  border:1px solid var(--tm-border);
  border-radius:22px;
  background:#fff;
  box-shadow:0 9px 28px rgba(31,38,64,.055);
  overflow:hidden;
}
body[data-study-page="today"] .tm-hero-copy h1{
  margin:0;
  color:var(--tm-navy);
  font-size:clamp(2rem,2.35vw,2.55rem);
  line-height:1.1;
  font-weight:900;
  letter-spacing:-0.06em;
}
body[data-study-page="today"] .tm-hero-copy>p{
  margin:9px 0 19px;
  color:#667086;
  font-size:.98rem;
  font-weight:600;
}
body[data-study-page="today"] .tm-progress-label{
  display:flex;
  align-items:baseline;
  gap:10px;
  margin-bottom:8px;
  color:#5f687a;
  font-size:.85rem;
  font-weight:800;
}
body[data-study-page="today"] .tm-progress-label strong{
  color:var(--tm-purple);
  font-size:1.8rem;
  line-height:1;
  font-weight:900;
}
body[data-study-page="today"] .tm-progress-track{
  width:min(100%,430px);
  height:11px;
  overflow:hidden;
  border-radius:999px;
  background:#eceef3;
}
body[data-study-page="today"] .tm-progress-track i{
  display:block;
  height:100%;
  border-radius:inherit;
  background:linear-gradient(90deg,#7250eb,#5b31db);
  transition:width .25s ease;
}
body[data-study-page="today"] .tm-hero-art{
  position:relative;
  width:156px;
  height:126px;
  justify-self:center;
  color:var(--tm-purple);
  filter:drop-shadow(0 13px 16px rgba(97,55,230,.14));
}
body[data-study-page="today"] .tm-hero-art svg{width:150px;height:126px;}
body[data-study-page="today"] .tm-hero-spark{
  position:absolute;
  z-index:2;
  color:#b7a6ff;
  font-size:1.2rem;
}
body[data-study-page="today"] .tm-hero-spark.one{left:-8px;top:16px;}
body[data-study-page="today"] .tm-hero-spark.two{right:-5px;bottom:15px;font-size:.85rem;}
body[data-study-page="today"] .tm-hero-cta{justify-self:stretch;}
body[data-study-page="today"] .tm-primary-cta{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:14px;
  width:100%;
  min-height:66px;
  padding:0 22px;
  border:0;
  border-radius:13px;
  background:linear-gradient(135deg,#7042ec,#5428d7);
  box-shadow:0 12px 22px rgba(89,48,218,.2);
  color:#fff;
  text-decoration:none;
  font-size:1.08rem;
  font-weight:900;
  cursor:pointer;
}
body[data-study-page="today"] .tm-primary-cta:hover{transform:translateY(-1px);box-shadow:0 15px 25px rgba(89,48,218,.24);}
body[data-study-page="today"] .tm-primary-cta span{font-size:1.35rem;line-height:1;}
body[data-study-page="today"] .tm-primary-cta.is-complete{background:#19a76f;cursor:default;}

/* 요약 지표 */
body[data-study-page="today"] .tm-summary-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
}
body[data-study-page="today"] .tm-summary-card{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:16px;
  min-height:92px;
  padding:17px 20px;
  border:1px solid var(--tm-border);
  border-radius:17px;
  background:#fff;
  box-shadow:0 7px 22px rgba(31,38,64,.045);
}
body[data-study-page="today"] .tm-summary-icon,
body[data-study-page="today"] .tm-retry-icon,
body[data-study-page="today"] .tm-outcome-icon{
  display:flex;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
  border-radius:50%;
}
body[data-study-page="today"] .tm-summary-icon{width:48px;height:48px;}
body[data-study-page="today"] .tm-summary-icon svg{width:24px;height:24px;}
body[data-study-page="today"] .tm-summary-icon.purple{background:#eee9ff;color:#6240df;}
body[data-study-page="today"] .tm-summary-icon.amber{background:#fff3dd;color:#f39b00;}
body[data-study-page="today"] .tm-summary-icon.violet{background:#f0ebff;color:#7b5aeb;}
body[data-study-page="today"] .tm-summary-icon.blue{background:#eaf4ff;color:#1777dd;}
body[data-study-page="today"] .tm-summary-card small{
  display:block;
  margin-bottom:3px;
  color:#687287;
  font-size:.8rem;
  font-weight:800;
}
body[data-study-page="today"] .tm-summary-card strong{
  display:block;
  color:var(--tm-navy);
  font-size:1.55rem;
  line-height:1.05;
  font-weight:900;
}

/* 공통 패널 */
body[data-study-page="today"] .tm-main-grid,
body[data-study-page="today"] .tm-lower-grid{
  display:grid;
  grid-template-columns:minmax(0,1.65fr) minmax(335px,.92fr);
  gap:14px;
  align-items:stretch;
}
body[data-study-page="today"] .tm-lower-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);}
body[data-study-page="today"] .tm-panel,
body[data-study-page="today"] .tm-outcome-panel{
  border:1px solid var(--tm-border);
  border-radius:19px;
  background:#fff;
  box-shadow:0 8px 24px rgba(31,38,64,.05);
}
body[data-study-page="today"] .tm-panel{padding:20px 22px;}
body[data-study-page="today"] .tm-panel-header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  margin-bottom:14px;
}
body[data-study-page="today"] .tm-panel-header h2,
body[data-study-page="today"] .tm-outcome-panel h2{
  margin:0;
  color:var(--tm-navy);
  font-size:1.25rem;
  line-height:1.2;
  font-weight:900;
  letter-spacing:-0.04em;
}
body[data-study-page="today"] .tm-panel-header h2 em{
  margin-left:7px;
  color:var(--tm-purple);
  font-size:.9rem;
  font-style:normal;
  font-weight:900;
}
body[data-study-page="today"] .tm-panel-header-with-sub p{
  margin:6px 0 0;
  color:#8991a2;
  font-size:0.8rem;
  font-weight:600;
}

/* 미션 목록 */
body[data-study-page="today"] .tm-mission-list{display:flex;flex-direction:column;gap:8px;}
body[data-study-page="today"] .tm-mission-row{
  display:grid;
  grid-template-columns:38px minmax(0,1fr) auto;
  align-items:center;
  gap:13px;
  min-height:69px;
  padding:10px 12px;
  border:1px solid #e5e8f0;
  border-radius:13px;
  background:#fff;
}
body[data-study-page="today"] .tm-mission-row.is-primary-target{
  border-color:#a995ff;
  background:linear-gradient(90deg,#f7f3ff 0%,#fff 75%);
  box-shadow:0 0 0 2px rgba(97,55,230,.055);
}
body[data-study-page="today"] .tm-mission-row.is-done{
  border-color:#bfe7d2;
  background:#f7fcf9;
}
body[data-study-page="today"] .tm-mission-row.is-locked{
  grid-template-columns:38px minmax(0,1fr);
  border-style:solid;
  border-color:#eceef3;
  background:#fafbfc;
}
body[data-study-page="today"] .tm-mission-number{
  display:flex;
  align-items:center;
  justify-content:center;
  width:34px;
  height:34px;
  border:1px solid #dfe3ec;
  border-radius:50%;
  background:#f9fafc;
  color:#1f2a43;
  font-size:.9rem;
  font-weight:900;
}
body[data-study-page="today"] .tm-mission-row.is-primary-target .tm-mission-number{
  border-color:var(--tm-purple);
  background:var(--tm-purple);
  color:#fff;
}
body[data-study-page="today"] .tm-mission-row.is-done .tm-mission-number{
  border-color:#1ca873;
  background:#1ca873;
  color:#fff;
}
body[data-study-page="today"] .tm-lock-number{border:0;background:#eef0f4;color:#7c8494;}
body[data-study-page="today"] .tm-lock-number svg{width:18px;height:18px;}
body[data-study-page="today"] .tm-mission-copy{min-width:0;}
body[data-study-page="today"] .tm-mission-copy>strong{
  display:block;
  overflow:hidden;
  color:#20283d;
  font-size:.93rem;
  line-height:1.35;
  font-weight:800;
  text-overflow:ellipsis;
  white-space:nowrap;
}
body[data-study-page="today"] .tm-mission-copy>span{
  display:block;
  margin-top:4px;
  color:#8c93a2;
  font-size:0.8rem;
  line-height:1.35;
}
body[data-study-page="today"] .tm-mission-meta{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:11px;
  margin-top:4px;
  color:#7d8596;
  font-size:0.8rem;
  font-weight:600;
}
body[data-study-page="today"] .tm-reward-text{
  display:inline-flex;
  align-items:center;
  gap:3px;
  color:#696f82;
  white-space:nowrap;
}
body[data-study-page="today"] .tm-reward-text .star-candy-icon.inline{width:15px;height:15px;margin:0;}
body[data-study-page="today"] .tm-mission-action{display:flex;justify-content:flex-end;}
body[data-study-page="today"] .tm-mission-button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:76px;
  min-height:34px;
  padding:0 13px;
  border:1px solid #a58df7;
  border-radius:9px;
  background:#fff;
  color:#6240df;
  text-decoration:none;
  font-size:0.8rem;
  font-weight:900;
  cursor:pointer;
  white-space:nowrap;
}
body[data-study-page="today"] .tm-mission-button:hover,
body[data-study-page="today"] .tm-mission-button.is-primary{
  border-color:var(--tm-purple);
  background:var(--tm-purple);
  color:#fff;
}
body[data-study-page="today"] .tm-mission-button.is-done{
  border-color:#b9e4ce;
  background:#f2fbf6;
  color:#159866;
  cursor:default;
}

/* 별사탕 카드 */
body[data-study-page="today"] .tm-reward-panel{display:flex;flex-direction:column;}
body[data-study-page="today"] .tm-reward-visual{
  display:flex;
  align-items:center;
  justify-content:center;
  height:142px;
  margin:-2px 0 6px;
}
body[data-study-page="today"] .tm-reward-visual img{
  width:min(76%,190px);
  max-height:134px;
  object-fit:contain;
  filter:drop-shadow(0 12px 15px rgba(97,55,230,.12));
}
body[data-study-page="today"] .tm-reward-stat{
  display:flex;
  align-items:center;
  justify-content:space-between;
  min-height:45px;
  padding:10px 2px;
  border-bottom:1px solid #edf0f5;
}
body[data-study-page="today"] .tm-reward-stat span{
  display:flex;
  align-items:center;
  gap:9px;
  color:#606a7e;
  font-size:.82rem;
  font-weight:800;
}
body[data-study-page="today"] .tm-reward-stat svg{width:18px;height:18px;color:#6c47e6;}
body[data-study-page="today"] .tm-reward-stat strong{font-size:1.03rem;font-weight:900;}
body[data-study-page="today"] .tm-reward-stat strong i{font-style:normal;}
body[data-study-page="today"] .tm-bonus-unlock{
  position:relative;
  margin-top:12px;
  padding:13px 14px 14px;
  border-radius:12px;
  background:#f6f5fa;
}
body[data-study-page="today"] .tm-bonus-unlock>div:first-child{display:flex;align-items:center;justify-content:space-between;gap:12px;}
body[data-study-page="today"] .tm-bonus-unlock span{color:#626b7e;font-size:0.8rem;font-weight:800;}
body[data-study-page="today"] .tm-bonus-unlock strong{color:var(--tm-purple);font-size:.9rem;font-weight:900;}
body[data-study-page="today"] .tm-bonus-track{height:7px;margin-top:11px;border-radius:999px;background:#dde0e7;overflow:hidden;}
body[data-study-page="today"] .tm-bonus-track i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#6d42eb,#9a82f4);}
body[data-study-page="today"] .tm-bonus-unlock>small{position:absolute;right:14px;bottom:1px;color:#8a91a1;font-size:0.8rem;font-weight:800;transform:translateY(100%);}
body[data-study-page="today"] .tm-reward-note{
  margin:16px 0 0;
  color:#8a91a1;
  font-size:0.8rem;
  line-height:1.4;
  text-align:center;
}

/* 하단 보너스/재도전 */
body[data-study-page="today"] .tm-bonus-panel .tm-mission-row{min-height:67px;}
body[data-study-page="today"] .tm-retry-panel{display:flex;flex-direction:column;}
body[data-study-page="today"] .tm-retry-stats{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:0;
  margin:2px 0 15px;
  border:1px solid #edf0f5;
  border-radius:13px;
  overflow:hidden;
}
body[data-study-page="today"] .tm-retry-stats>div{
  display:grid;
  grid-template-columns:38px minmax(0,1fr);
  grid-template-rows:auto auto;
  align-items:center;
  column-gap:9px;
  min-height:75px;
  padding:10px 12px;
  border-right:1px solid #edf0f5;
}
body[data-study-page="today"] .tm-retry-stats>div:last-child{border-right:0;}
body[data-study-page="today"] .tm-retry-icon{grid-row:1 / span 2;width:36px;height:36px;}
body[data-study-page="today"] .tm-retry-icon svg{width:20px;height:20px;}
body[data-study-page="today"] .tm-retry-icon.blue{background:#eaf4ff;color:#1976d2;}
body[data-study-page="today"] .tm-retry-icon.green{background:#edf9e8;color:#62b42d;}
body[data-study-page="today"] .tm-retry-icon.orange{background:#fff1e5;color:#ef8518;}
body[data-study-page="today"] .tm-retry-stats small{align-self:end;color:#777f91;font-size:0.8rem;font-weight:800;white-space:nowrap;}
body[data-study-page="today"] .tm-retry-stats strong{align-self:start;color:#1c253c;font-size:1.03rem;font-weight:900;}
body[data-study-page="today"] .tm-retry-detail{margin-top:auto;}
body[data-study-page="today"] .tm-retry-detail>summary{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  min-height:40px;
  border:1px solid #b8a8f7;
  border-radius:10px;
  color:var(--tm-purple);
  font-size:.83rem;
  font-weight:900;
  cursor:pointer;
  list-style:none;
}
body[data-study-page="today"] .tm-retry-detail>summary::-webkit-details-marker{display:none;}
body[data-study-page="today"] .tm-retry-detail[open]>summary{margin-bottom:14px;background:#f7f4ff;}
body[data-study-page="today"] .tm-retry-detail-body{max-height:520px;padding:14px;border-radius:12px;background:#f8f9fb;overflow:auto;}
body[data-study-page="today"] .tm-empty{padding:24px;border:1px dashed #dfe3eb;border-radius:12px;color:#8a91a1;text-align:center;font-size:.8rem;}

/* 오늘의 학습 기록 */
body[data-study-page="today"] .tm-outcome-panel{padding:18px 22px 20px;}
body[data-study-page="today"] .tm-outcome-panel header{margin-bottom:12px;}
body[data-study-page="today"] .tm-outcome-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));}
body[data-study-page="today"] .tm-outcome-grid>div{
  display:grid;
  grid-template-columns:46px minmax(0,1fr);
  grid-template-rows:auto auto;
  align-items:center;
  column-gap:12px;
  min-height:70px;
  padding:9px 20px;
  border-right:1px solid #e7eaf0;
}
body[data-study-page="today"] .tm-outcome-grid>div:last-child{border-right:0;}
body[data-study-page="today"] .tm-outcome-icon{grid-row:1 / span 2;width:44px;height:44px;}
body[data-study-page="today"] .tm-outcome-icon svg{width:23px;height:23px;}
body[data-study-page="today"] .tm-outcome-icon.purple{background:#f0ebff;color:#6740e2;}
body[data-study-page="today"] .tm-outcome-icon.blue{background:#eaf4ff;color:#1976d2;}
body[data-study-page="today"] .tm-outcome-icon.green{background:#edf9e8;color:#58b52d;}
body[data-study-page="today"] .tm-outcome-icon.orange{background:#fff1e5;color:#ec7c13;}
body[data-study-page="today"] .tm-outcome-grid small{align-self:end;color:#778094;font-size:0.8rem;font-weight:800;}
body[data-study-page="today"] .tm-outcome-grid strong{align-self:start;color:#172039;font-size:1.18rem;font-weight:900;}

/* 반응형 */
@media (max-width:1180px){
  body[data-study-page="today"] .tm-hero{grid-template-columns:minmax(0,1fr) 140px 220px;padding:23px 24px;}
  body[data-study-page="today"] .tm-hero-art{transform:scale(.9);}
  body[data-study-page="today"] .tm-summary-card{gap:11px;padding:15px 14px;}
  body[data-study-page="today"] .tm-summary-icon{width:43px;height:43px;}
  body[data-study-page="today"] .tm-main-grid{grid-template-columns:minmax(0,1.55fr) minmax(300px,.9fr);}
}
@media (max-width:980px){
  body[data-study-page="today"] .tm-hero{grid-template-columns:minmax(0,1fr) 210px;}
  body[data-study-page="today"] .tm-hero-art{display:none;}
  body[data-study-page="today"] .tm-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  body[data-study-page="today"] .tm-main-grid,
  body[data-study-page="today"] .tm-lower-grid{grid-template-columns:1fr;}
  body[data-study-page="today"] .tm-reward-visual{height:120px;}
  body[data-study-page="today"] .tm-reward-visual img{max-height:116px;}
}
@media (max-width:700px){
  body[data-study-page="today"] .main-content{padding:72px 12px 22px!important;}
  body[data-study-page="today"] .today-mission-redesign{gap:11px;}
  body[data-study-page="today"] .tm-hero{grid-template-columns:1fr;padding:21px 18px;}
  body[data-study-page="today"] .tm-hero-cta{margin-top:18px;}
  body[data-study-page="today"] .tm-primary-cta{min-height:52px;}
  body[data-study-page="today"] .tm-summary-grid{grid-template-columns:1fr 1fr;gap:9px;}
  body[data-study-page="today"] .tm-summary-card{min-height:76px;justify-content:flex-start;padding:12px;}
  body[data-study-page="today"] .tm-summary-card strong{font-size:1.25rem;}
  body[data-study-page="today"] .tm-summary-icon{width:38px;height:38px;}
  body[data-study-page="today"] .tm-panel,
  body[data-study-page="today"] .tm-outcome-panel{padding:17px 14px;}
  body[data-study-page="today"] .tm-mission-row{grid-template-columns:34px minmax(0,1fr);}
  body[data-study-page="today"] .tm-mission-action{grid-column:2;justify-content:stretch;margin-top:4px;}
  body[data-study-page="today"] .tm-mission-button{width:100%;}
  body[data-study-page="today"] .tm-retry-stats{grid-template-columns:1fr;}
  body[data-study-page="today"] .tm-retry-stats>div{border-right:0;border-bottom:1px solid #edf0f5;}
  body[data-study-page="today"] .tm-retry-stats>div:last-child{border-bottom:0;}
  body[data-study-page="today"] .tm-outcome-grid{grid-template-columns:1fr 1fr;}
  body[data-study-page="today"] .tm-outcome-grid>div{border-bottom:1px solid #e7eaf0;}
  body[data-study-page="today"] .tm-outcome-grid>div:nth-child(2){border-right:0;}
  body[data-study-page="today"] .tm-outcome-grid>div:nth-child(n+3){border-bottom:0;}
}

/* 2026-07-29: 보너스/재도전/학습기록 제거 후 본문 재조정 */
body[data-study-page="today"] .tm-summary-grid{
  grid-template-columns:repeat(3,minmax(0,1fr));
}
body[data-study-page="today"] .tm-main-grid{
  grid-template-columns:minmax(0,1.8fr) minmax(300px,.72fr);
}
body[data-study-page="today"] .tm-reward-panel{
  display:flex;
  flex-direction:column;
}
body[data-study-page="today"] .tm-reward-visual{
  min-height:190px;
}
body[data-study-page="today"] .tm-reward-visual img{
  width:min(190px,70%);
  max-height:190px;
  object-fit:contain;
}
body[data-study-page="today"] .tm-daily-reward-progress{
  margin-top:16px;
  padding:16px 0 2px;
  border-top:1px solid var(--tm-border);
}
body[data-study-page="today"] .tm-daily-reward-progress>div:first-child{
  display:flex;
  align-items:center;
  justify-content:space-between;
  margin-bottom:10px;
  color:#687287;
  font-size:.88rem;
  font-weight:800;
}
body[data-study-page="today"] .tm-daily-reward-progress strong{
  color:var(--tm-purple);
  font-size:1rem;
  font-weight:900;
}
@media (max-width:900px){
  body[data-study-page="today"] .tm-summary-grid{grid-template-columns:1fr;}
  body[data-study-page="today"] .tm-main-grid{grid-template-columns:1fr;}
}

/* 2026-07-29: 오늘의 미션 하단 여백·가로 스크롤 정리 */
body[data-study-page="today"]{
  overflow:hidden!important;
}
body[data-study-page="today"] #app-wrapper{
  width:100%!important;
  max-width:100%!important;
  height:100dvh!important;
  min-height:0!important;
  overflow:hidden!important;
}
body[data-study-page="today"] .main-content::before{
  content:none!important;
  display:none!important;
}
body[data-study-page="today"] #app-wrapper > .main-content{
  flex:1 1 auto!important;
  width:auto!important;
  max-width:none!important;
  min-width:0!important;
  height:100dvh!important;
  min-height:0!important;
  margin-left:0!important;
  padding:18px clamp(14px,1.15vw,22px) 10px!important;
  gap:8px!important;
  overflow-x:hidden!important;
  overflow-y:auto!important;
  overscroll-behavior:contain;
  scrollbar-gutter:stable;
}
body[data-study-page="today"] #studyToolsRoot{
  flex:0 0 auto!important;
  align-self:stretch!important;
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
  margin-inline:0!important;
}
body[data-study-page="today"] .main-content > footer{
  flex:0 0 auto!important;
  margin:2px 0 0!important;
  padding:0 0 2px!important;
  line-height:1.2!important;
}

/* 2026-07-30: 초광폭 모니터에서도 고정 폭 캔버스를 만들지 않고 사용 가능 영역을 전부 사용 */
@media (min-width:1441px){
  body[data-study-page="today"] #app-wrapper > .main-content{
    padding-inline:clamp(18px,1.1vw,26px)!important;
  }
  body[data-study-page="today"] #studyToolsRoot,
  body[data-study-page="today"] .today-mission-redesign{
    width:100%!important;
    max-width:none!important;
    margin-inline:0!important;
  }
}

@media (max-width:900px){
  body[data-study-page="today"] #app-wrapper > .main-content{
    width:100%!important;
    height:100dvh!important;
    min-height:0!important;
    margin:0!important;
    padding:72px 12px 10px!important;
    overflow-x:hidden!important;
    overflow-y:auto!important;
  }
}


/* 2026-07-30: 기본 미션/오늘의 별사탕 영역 글자 크기 +20%, 세로 여백 확장 */
body[data-study-page="today"] .tm-base-panel .tm-panel-header h2,
body[data-study-page="today"] .tm-reward-panel .tm-panel-header h2{
  font-size:1.5rem;
  line-height:1.2;
}
body[data-study-page="today"] .tm-base-panel .tm-panel-header h2 em{
  font-size:1.08rem;
}
body[data-study-page="today"] .tm-base-panel .tm-mission-list{
  gap:12px;
}
body[data-study-page="today"] .tm-base-panel .tm-mission-row{
  grid-template-columns:44px minmax(0,1fr) auto;
  gap:16px;
  min-height:86px;
  padding:14px 16px;
  border-radius:16px;
}
body[data-study-page="today"] .tm-base-panel .tm-mission-row.is-locked{
  grid-template-columns:44px minmax(0,1fr);
}
body[data-study-page="today"] .tm-base-panel .tm-mission-number{
  width:40px;
  height:40px;
  font-size:1.08rem;
}
body[data-study-page="today"] .tm-base-panel .tm-lock-number svg{
  width:20px;
  height:20px;
}
body[data-study-page="today"] .tm-base-panel .tm-mission-copy > strong{
  overflow:visible;
  font-size:1.12rem;
  line-height:1.38;
  text-overflow:clip;
  white-space:normal;
}
body[data-study-page="today"] .tm-base-panel .tm-mission-meta,
body[data-study-page="today"] .tm-base-panel .tm-mission-copy > span{
  font-size:.89rem;
  line-height:1.45;
}
body[data-study-page="today"] .tm-base-panel .tm-mission-meta{
  gap:14px;
  margin-top:6px;
}
body[data-study-page="today"] .tm-base-panel .tm-reward-text .star-candy-icon.inline{
  width:18px;
  height:18px;
}
body[data-study-page="today"] .tm-base-panel .tm-mission-button{
  min-width:92px;
  min-height:42px;
  padding:0 16px;
  border-radius:10px;
  font-size:.92rem;
}
body[data-study-page="today"] .tm-reward-panel{
  padding-bottom:24px;
}
body[data-study-page="today"] .tm-reward-panel .tm-reward-visual{
  min-height:220px;
  margin:4px 0 10px;
}
body[data-study-page="today"] .tm-reward-panel .tm-reward-visual img{
  width:min(220px,74%);
  max-height:210px;
}
body[data-study-page="today"] .tm-reward-panel .tm-reward-stat{
  min-height:56px;
  padding:14px 4px;
}
body[data-study-page="today"] .tm-reward-panel .tm-reward-stat span{
  gap:10px;
  font-size:.98rem;
}
body[data-study-page="today"] .tm-reward-panel .tm-reward-stat svg{
  width:20px;
  height:20px;
}
body[data-study-page="today"] .tm-reward-panel .tm-reward-stat strong{
  font-size:1.24rem;
}
body[data-study-page="today"] .tm-reward-panel .tm-daily-reward-progress{
  margin-top:18px;
  padding-top:18px;
}
body[data-study-page="today"] .tm-reward-panel .tm-daily-reward-progress > div:first-child{
  margin-bottom:12px;
  font-size:1.02rem;
}
body[data-study-page="today"] .tm-reward-panel .tm-daily-reward-progress strong{
  font-size:1.18rem;
}
body[data-study-page="today"] .tm-reward-panel .tm-bonus-track{
  height:9px;
}
body[data-study-page="today"] .tm-reward-panel .tm-reward-note{
  margin-top:18px;
  font-size:.84rem;
  line-height:1.5;
}
@media (max-width:980px){
  body[data-study-page="today"] .tm-base-panel .tm-mission-row{
    min-height:82px;
  }
}
@media (max-width:700px){
  body[data-study-page="today"] .tm-base-panel .tm-panel-header h2,
  body[data-study-page="today"] .tm-reward-panel .tm-panel-header h2{
    font-size:1.34rem;
  }
  body[data-study-page="today"] .tm-base-panel .tm-mission-row{
    grid-template-columns:36px minmax(0,1fr);
    gap:12px;
    min-height:78px;
    padding:13px 14px;
  }
  body[data-study-page="today"] .tm-base-panel .tm-mission-row.is-locked{
    grid-template-columns:36px minmax(0,1fr);
  }
  body[data-study-page="today"] .tm-base-panel .tm-mission-number{
    width:34px;
    height:34px;
    font-size:.98rem;
  }
  body[data-study-page="today"] .tm-base-panel .tm-mission-copy > strong{
    font-size:1rem;
  }
  body[data-study-page="today"] .tm-base-panel .tm-mission-meta,
  body[data-study-page="today"] .tm-base-panel .tm-mission-copy > span{
    font-size:.82rem;
  }
  body[data-study-page="today"] .tm-base-panel .tm-mission-button{
    min-height:40px;
    font-size:.88rem;
  }
  body[data-study-page="today"] .tm-reward-panel .tm-reward-visual{
    min-height:190px;
  }
  body[data-study-page="today"] .tm-reward-panel .tm-reward-visual img{
    width:min(200px,72%);
    max-height:180px;
  }
  body[data-study-page="today"] .tm-reward-panel .tm-reward-stat{
    min-height:52px;
    padding:12px 2px;
  }
  body[data-study-page="today"] .tm-reward-panel .tm-reward-stat span{
    font-size:.92rem;
  }
  body[data-study-page="today"] .tm-reward-panel .tm-reward-stat strong{
    font-size:1.14rem;
  }
  body[data-study-page="today"] .tm-reward-panel .tm-daily-reward-progress > div:first-child{
    font-size:.95rem;
  }
}

/* 2026-07-31: 오늘의 별사탕 이미지 30% 확대 */
body[data-study-page="today"] .tm-reward-panel .tm-reward-visual{
  min-height:325px;
  margin:0 0 12px;
  overflow:visible;
}
body[data-study-page="today"] .tm-reward-panel .tm-reward-visual .tm-reward-character{
  display:block;
  width:min(390px,96%);
  max-width:100%;
  height:auto;
  max-height:322px;
  object-fit:contain;
  object-position:center;
  filter:drop-shadow(0 14px 18px rgba(97,55,230,.14));
}
@media (max-width:700px){
  body[data-study-page="today"] .tm-reward-panel .tm-reward-visual{
    min-height:286px;
  }
  body[data-study-page="today"] .tm-reward-panel .tm-reward-visual .tm-reward-character{
    width:min(338px,94%);
    max-height:280px;
  }
}

