/* One Hanguly platform. Same Pretendard, navy/pink/lilac and tactile language
   as native Home; responsive composition, no account-specific visual generation. */
#homePage { font-family:var(--h-font); }
#homePage .hm-root { max-width:1220px; margin:0 auto; padding:30px 32px 88px; }
#homePage .hm-focus { padding:0; border:0; background:transparent; box-shadow:none; }
#homePage .hm-focus-head { margin-bottom:22px; }
#homePage .hm-focus-greeting { font-size:clamp(28px,3vw,40px); letter-spacing:-.045em; }
#homePage .hm-focus-sub { color:#81768B; }
#homePage .hm-focus-main-grid { display:grid; grid-template-columns:minmax(0,1fr) 300px; gap:24px; align-items:start; }
#homePage .hm-focus-learning,#homePage .hm-focus-side { min-width:0; }
#homePage .hm-focus-side { display:flex; flex-direction:column; gap:18px; }
#homePage .hm-progress-stack { margin:0 0 20px; }
#homePage .hm-progress-stack:empty { display:none; }
#homePage .hj-continue { position:relative; width:100%; display:grid; grid-template-columns:1fr; gap:18px; padding:24px; margin:0 0 24px; border:2px solid var(--h-navy); border-radius:24px; color:white; background:var(--h-navy); box-shadow:0 6px 0 #110725; font-family:var(--h-font); text-align:left; overflow:hidden; }
#homePage .hj-continue::before { content:''; position:absolute; width:290px; height:290px; border:2px solid #5C3C8F; border-radius:50%; right:-95px; top:-100px; pointer-events:none; opacity:.5; }
#homePage .hj-continue-copy { position:relative; gap:9px; z-index:1; }
#homePage .hj-continue-copy small { color:var(--h-pink); font-size:.68rem; letter-spacing:.1em; }
#homePage .hj-continue-copy strong { font-size:clamp(25px,2.5vw,36px); color:white; line-height:1.1; letter-spacing:-.035em; max-width:18ch; }
#homePage .hj-continue-copy>span { color:#D6C8EA; font-size:.9rem; line-height:1.5; max-width:38ch; }
#homePage .hj-continue-glyph { position:absolute; right:30px; top:26px; font-size:68px; color:#CFC2FF; background:transparent; opacity:.2; width:auto; height:auto; }
#homePage .hj-continue-cta { position:relative; z-index:2; display:flex; align-items:center; justify-content:space-between; gap:16px; grid-column:1/-1; width:100%; min-height:54px; padding:12px 18px; border:2px solid #110447; border-radius:16px; background:var(--h-pink); box-shadow:0 4px 0 #B94FC2; color:var(--h-navy); font-size:1rem; font-weight:900; text-align:left; }
#homePage .hj-continue-cta>span { font-size:24px; line-height:1; }
#homePage .hj-continue:active .hj-continue-cta { transform:translateY(3px); box-shadow:0 1px 0 #B94FC2; }
#homePage .hj-continue:focus-visible { outline:3px solid var(--h-purple); outline-offset:6px; }
#homePage .home-scene { display:block; position:relative; z-index:1; padding:15px; border-radius:18px; border:1.5px solid #6C548E; background:#35264F; transform:rotate(-1deg); box-shadow:4px 5px 0 #110725; }
#homePage .hs-head { display:flex; align-items:center; gap:9px; margin-bottom:13px; }
#homePage .hs-head>span:nth-child(2) { flex:1; min-width:0; display:flex; flex-direction:column; gap:3px; }
#homePage .hs-head b { font-size:.86rem; color:#fff; }
#homePage .hs-head small { font-size:.53rem; color:#D6C8EA; font-weight:800; letter-spacing:.08em; }
#homePage .hs-head>i { color:var(--h-pink); font-size:30px; font-weight:900; font-style:normal; }
#homePage .hs-avatar { width:38px; height:38px; flex:none; display:grid; place-items:center; background:var(--h-pink); border:2px solid #110447; border-radius:13px; color:var(--h-navy); font-size:23px; font-weight:900; }
#homePage .hs-speaking .hs-avatar { background:var(--h-lilac); }
#homePage .hs-messages { display:flex; flex-direction:column; gap:9px; }
#homePage .hs-bubble { position:relative; display:block; align-self:flex-start; max-width:97%; padding:12px 14px; background:#fff; border:1.5px solid #110447; border-radius:15px; border-top-left-radius:3px; box-shadow:0 3px 0 #110725; color:var(--h-navy); font-size:clamp(19px,1.8vw,25px); font-weight:800; line-height:1.35; word-break:keep-all; overflow-wrap:anywhere; }
#homePage .hs-bubble.is-mine { align-self:flex-end; border-top-left-radius:15px; border-top-right-radius:3px; background:var(--h-pink); }
#homePage .hs-note { display:block; margin-top:14px; color:#D8CCEC; font-size:.72rem; line-height:1.45; }
/* Personalised shortcuts stay editable and fully available; the focal activity
   has the only large learning action. Korean objects distinguish each path. */
#homePage .hj-shortcuts { margin:2px 0 22px; padding:0; border:0; background:none; }
#homePage .hj-shortcuts-head { margin-bottom:14px; }
#homePage .hj-shortcuts-head>span { color:#746481; font-size:.65rem; letter-spacing:.09em; }
#homePage .hj-grid { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:8px; }
#homePage .hj-tile { min-height:90px; padding:5px 2px; gap:9px; align-items:center; justify-content:flex-start; border:0; border-radius:0; background:none; box-shadow:none; text-align:center; }
#homePage .hj-tile-icon { width:45px; height:45px; padding:0; border:2px solid var(--h-navy); border-radius:14px; background:#CFC2FF; color:var(--h-navy); box-shadow:0 4px 0 #9582CC; font-size:1.05rem; transform:rotate(-5deg); transition:transform .15s; }
#homePage .hj-tile:nth-child(even) .hj-tile-icon { transform:rotate(5deg); }
#homePage .hj-tile[data-feature="katalk"] .hj-tile-icon { background:#F297FE; box-shadow:0 4px 0 #B94FC2; border-bottom-left-radius:3px; }
#homePage .hj-tile[data-feature="tutor_call"] .hj-tile-icon,#homePage .hj-tile[data-feature="pronunciation"] .hj-tile-icon { background:#8ED7FA; box-shadow:0 4px 0 #0878B5; border-radius:50%; }
#homePage .hj-tile[data-feature="scenarios"] .hj-tile-icon,#homePage .hj-tile[data-feature="culture"] .hj-tile-icon { background:#A9EBD1; box-shadow:0 4px 0 #249A6C; }
#homePage .hj-tile[data-feature="practice"] .hj-tile-icon { background:#CFC2FF; transform:rotate(-8deg); }
#homePage .hj-tile-label { font-size:.72rem; line-height:1.2; max-width:11ch; font-weight:800; color:var(--h-navy); }
#homePage .hj-tile:hover .hj-tile-icon { transform:translateY(-4px) rotate(0); }
#homePage .hj-tile:focus-visible { outline:3px solid var(--h-purple); outline-offset:3px; border-radius:12px; }
#homePage .hj-all { border:0; background:none; box-shadow:none; min-height:44px; padding:6px; color:var(--h-purple); font-size:.78rem; }
#homePage .hm-ios-level-slot { margin-top:22px; }
#homePage .hm-tutor-feature { min-height:0; padding:20px; border-radius:22px; }
#homePage .hm-tutor-art { height:128px; }
#homePage .hm-tutor-feature .hm-tutor-title { font-size:1.55rem; }
#homePage .hm-member-pro { display:inline-flex; align-items:center; justify-content:center; gap:7px; min-height:40px; padding:0 13px; border:2px solid #110447; border-radius:13px; background:var(--h-navy); color:var(--pro-accent); box-shadow:0 3px 0 var(--h-purple); font:900 .8rem var(--h-font); }
/* Compact desktop app navigation. Deeper feature links retain their ids and
   routing, under Explore; Home/Learn/Practice/Tutor/Profile remain primary. */
.side-discover>summary { list-style:none; cursor:pointer; display:flex; flex-direction:column; align-items:center; gap:5px; padding:12px 4px; font:800 .69rem var(--h-font); color:var(--h-body); border-radius:15px; }
.side-discover>summary::-webkit-details-marker { display:none; }
.side-discover>summary>span:first-child { font-size:22px; color:var(--h-purple); }
.side-discover>summary:focus-visible { outline:3px solid var(--h-purple); }
.side-discover[open]>summary { background:var(--h-tint); }
.side-discover-panel { position:absolute; top:10px; left:98px; width:300px; max-height:calc(100dvh - 90px); overflow:auto; padding:20px; background:var(--h-paper); border:2px solid var(--h-navy); border-radius:22px; box-shadow:5px 6px 0 #CFC2FF; z-index:1200; }
.side-discover-title { display:block; color:var(--h-navy); font:900 1.2rem var(--h-font); margin-bottom:12px; }
@media(min-width:769px) {
  #sideNav { width:96px; padding:14px 8px 0; overflow:visible; }
  .side-nav-main { overflow:visible; }
  main#main,#legalFooter { margin-left:96px; }
  #sideNav .side-primary-group { display:flex; flex-direction:column; gap:10px; }
  #sideNav .side-primary { display:flex; flex-direction:column; justify-content:center; gap:7px; min-height:66px; padding:8px 2px; font-size:.7rem; }
  #sideNav .side-primary svg { width:24px; height:24px; }
  #sideNav>.side-account { padding:10px 0; margin-top:auto; }
  #sideNav .side-account .side-link { flex-direction:column; gap:6px; padding:9px 2px; font-size:.65rem; }
  #sideNav .side-discover-panel .side-link { flex-direction:row; justify-content:flex-start; font-size:.9rem; padding:10px; min-height:44px; text-align:left; }
  #sideNav .side-discover-panel .side-group-label { display:block; }
  #sideNav .side-discover-panel .side-link svg { width:20px; height:20px; }
}
@media(min-width:1100px) {
  #homePage .hj-continue.has-scene { grid-template-columns:minmax(0,1fr) minmax(220px,1fr); align-items:center; min-height:330px; }
  #homePage .hm-progress-stack .hg-buddy-home { grid-template-columns:46px minmax(0,1fr) minmax(170px,1fr); padding:12px; }
}
@media(max-width:1099px) {
  #homePage .hm-root { padding:22px; }
  #homePage .hm-focus-main-grid { grid-template-columns:minmax(0,1fr) 260px; gap:20px; }
  #homePage .hj-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media(max-width:768px) {
  #homePage .hm-root { padding:16px 16px 90px; }
  #homePage .hm-focus-main-grid { display:flex; flex-direction:column; gap:20px; }
  #homePage .hm-focus-learning,#homePage .hm-focus-side { width:100%; }
  #homePage .hm-focus-head { margin-bottom:18px; }
  #homePage .hm-focus-greeting { font-size:30px; }
  #homePage .hm-progress-stack { margin-bottom:16px; }
  #homePage .hj-continue { padding:16px; border-radius:20px; gap:14px; margin-bottom:24px; }
  #homePage .hj-continue-copy strong { font-size:27px; }
  #homePage .hj-continue-copy>span { font-size:.85rem; }
  #homePage .home-scene { padding:12px; transform:none; }
  #homePage .hs-bubble { font-size:21px; padding:11px 13px; }
  #homePage .hj-grid { grid-template-columns:repeat(6,minmax(0,1fr)); gap:4px; }
  #homePage .hj-tile { min-height:88px; }
  #homePage .hj-tile-icon { width:40px; height:40px; font-size:.9rem; border-radius:12px; }
  #homePage .hj-tile-label { font-size:.61rem; }
  #homePage .hm-tutor-feature { min-height:0; }
  #homePage .hm-tutor-art { height:125px; }
}
@media(prefers-reduced-motion:reduce) { #homePage .hj-tile-icon { transition:none; } }
@media(min-width:769px) {
  #homePage .hm-focus-side .hg-buddy-home { min-width:0; width:100%; grid-template-columns:46px minmax(0,1fr); padding:14px; gap:10px; }
  #homePage .hm-focus-side .hg-buddy-home-art { width:44px; height:44px; }
  #homePage .hm-focus-side .hg-buddy-home-art .hg-buddy { width:56px; height:56px; }
  #homePage .hm-focus-side .hg-buddy-week { grid-column:1/-1; width:100%; }
  #homePage .hm-focus-side .hg-buddy-home-action { grid-column:1/-1; flex-wrap:wrap; }
  #homePage .hm-focus-side .hg-buddy-home-copy strong { font-size:1rem; }
}
@media(max-width:768px) {
  #homePage .hm-focus-side { display:contents; }
  #homePage .hm-progress-stack { order:-1; width:100%; }
  #homePage .hm-focus-learning { order:0; }
  #homePage .hm-focus-side>*:not(.hm-progress-stack) { order:1; width:100%; }
}

.side-discover.is-current>summary { background:var(--h-tint); color:var(--h-purple); }
/* The completed Korean reply is the visual anchor of onboarding, on both platforms. */
.hgpw-achievement { margin:14px 0 20px; padding:18px; display:flex; flex-direction:column; gap:10px; border:2px solid #110447; border-radius:22px; background:#CFC2FF; color:#21163C; box-shadow:0 5px 0 #3F20AD; }
.hga-head { display:flex; align-items:center; justify-content:space-between; gap:14px; }
.hga-head>span { font:900 24px var(--h-font); color:#21163C; }
.hga-head>b { border-radius:10px; padding:6px 9px; background:#fff; color:#5D35DC; font:900 13px var(--h-font); }
.hgpw-achievement .hga-label { margin:0; font:900 10px var(--h-font); color:#493762; letter-spacing:.09em; }
.hga-prompt { align-self:flex-start; max-width:95%; background:#fff; border:1.5px solid #21163C; border-radius:14px; border-top-left-radius:3px; padding:11px 13px; color:#21163C; font:600 18px/1.4 var(--h-font); word-break:keep-all; overflow-wrap:anywhere; }
.hga-reply { display:block; align-self:flex-end; max-width:98%; border:2px solid #21163C; border-radius:17px; border-top-right-radius:3px; padding:13px 15px; background:#37CB91; box-shadow:0 3px 0 #249A6C; color:#21163C; font:900 26px/1.3 var(--h-font); word-break:keep-all; overflow-wrap:anywhere; transform:rotate(-1deg); }
.hga-meaning { text-align:right; color:#493762; font:600 13px/1.4 var(--h-font); }
.hgpw-achievement .hga-next { display:flex; flex-direction:column; gap:4px; padding-top:11px; margin:5px 0 0; border-top:1px solid #A596C7; color:#21163C; }
.hga-next small { color:#5D35DC; font:900 10px var(--h-font); letter-spacing:.08em; }
.hga-next b { font:800 14px/1.4 var(--h-font); }
.has-achievement .hgpw-ko { display:none; }
.has-achievement .hgpw-title { font-size:23px; }
@media(max-width:768px) { .has-achievement .hgpw-hero { padding-top:12px; }.hgpw-achievement { padding:13px; margin:12px 0 16px; }.hga-reply { font-size:22px; }.has-achievement .hgpw-sub { font-size:12px; } }
@media(max-width:768px) { #homePage .hs-messages .hs-bubble:not(:last-child) { display:none; } }
#homePage .hm-course-focus { position:relative; overflow:hidden; padding:26px; border:2px solid #110447; border-radius:23px; background:#21163C; color:#fff; box-shadow:0 5px 0 #110725; margin-bottom:24px; }
#homePage .hm-course-focus>small { font-size:.65rem; font-weight:900; letter-spacing:.1em; color:#F297FE; }
#homePage .hm-course-focus h2 { color:#fff; font-size:30px; line-height:1.12; letter-spacing:-.03em; margin:12px 0; max-width:21ch; }
#homePage .hm-course-focus p { color:#D6C8EA; font-size:.86rem; line-height:1.5; max-width:50ch; margin:15px 0; }
#homePage .hm-course-korean { display:inline-block; padding:13px 17px; max-width:100%; background:#CFC2FF; color:#21163C; border:2px solid #110447; border-radius:15px; box-shadow:0 4px 0 #6C55A6; font-size:25px; font-weight:900; transform:rotate(-2deg); word-break:keep-all; overflow-wrap:anywhere; }
#homePage .hm-course-focus>button { display:flex; justify-content:space-between; align-items:center; width:100%; min-height:54px; padding:12px 17px; border:2px solid #110447; border-radius:15px; background:#F297FE; color:#21163C; font:900 1rem var(--h-font); box-shadow:0 4px 0 #B94FC2; cursor:pointer; margin-top:18px; }
#homePage .hm-course-dots { display:flex; flex-wrap:wrap; gap:7px; }
#homePage .hm-course-dots i { display:grid; place-items:center; width:26px; height:26px; border-radius:8px; border:1.5px solid #9C87C0; color:#D6C8EA; font-size:11px; font-weight:800; font-style:normal; }
#homePage .hm-course-dots i.is-done { background:#37CB91; border-color:#37CB91; color:#21163C; }
@media(max-width:768px) { #homePage .hm-course-focus { padding:18px; }#homePage .hm-course-focus h2 { font-size:26px; } }
/* On a phone the reply is the keepsake; plan choices must remain reachable
   immediately, with the selected provider terms beside the fixed action. */
@media(max-width:768px) {
 .has-achievement .hgpw-achievement { padding:12px; margin:10px 0 12px; gap:6px; }
 .has-achievement .hga-head>span { font-size:17px; }
 .has-achievement .hga-head>b { font-size:11px; padding:4px 7px; }
 .has-achievement .hga-label,.has-achievement .hga-prompt,.has-achievement .hga-next { display:none; }
 .has-achievement .hga-reply { font-size:22px; padding:10px 13px; }
 .has-achievement .hga-meaning { font-size:11px; }
 .has-achievement .hgpw-eyebrow { display:none; }
 .has-achievement .hgpw-title { font-size:21px; margin-top:6px; }
 .has-achievement .hgpw-sub { font-size:11px; line-height:1.4; }
 .has-achievement .hgpw-copy { padding-top:0; }
}

/* Founder hierarchy: activity first, compact motivation, one small win. */
@media(max-width:768px){#homePage .hm-progress-stack{order:0;margin:0}#homePage .hm-focus-learning{order:1}#homePage .hm-focus-side>*:not(.hm-progress-stack){order:2}#homePage .hm-focus-main-grid{gap:14px}}
#homePage .hg-buddy-home{display:flex;gap:10px;padding:10px 12px;min-height:54px;border:1.5px solid #D9CCE9;background:#EAE0FA;box-shadow:none;border-radius:14px;min-width:0}
#homePage .hg-buddy-home-art{width:32px;height:32px;background:transparent;border:0;box-shadow:none}
#homePage .hg-buddy-home-art .hg-buddy{width:40px;height:40px}
#homePage .hg-buddy-home-copy{flex:1}#homePage .hg-buddy-home-copy strong{font-size:12px}
#homePage .hg-buddy-week,#homePage .hg-buddy-home-divider,#homePage .hg-buddy-home-action{display:none}
#homePage .hm-small-win{width:100%;display:flex;flex-direction:column;gap:8px;text-align:left;background:#fff;border:2px solid #21163C;border-radius:18px;box-shadow:0 4px 0 #CFC2FF;padding:18px;color:#21163C;font-family:var(--h-font);cursor:pointer}
#homePage .hm-small-win small{font-weight:900;font-size:10px;letter-spacing:.08em;color:#5D35DC}#homePage .hm-small-win strong{font-weight:900;font-size:20px}#homePage .hm-small-win span{font-size:12px;line-height:1.5;color:#665975}

.auth-win-keepsake{margin:12px 0;padding:14px;border:2px solid #21163C;border-radius:16px;background:#CFC2FF;color:#21163C;box-shadow:0 3px 0 #8F7FE0;display:flex;flex-direction:column;gap:8px}.auth-win-keepsake small{font:900 10px var(--h-font);color:#5D35DC}.auth-win-keepsake strong{font:900 23px/1.4 var(--h-font);word-break:keep-all;overflow-wrap:anywhere}

/* Outcome-led Home: continuation, useful daily practice, relevant actions, then Pro. */
#homePage .hm-focus-learning{display:flex;flex-direction:column;gap:18px}
#homePage .hm-focus-learning>.hj-continue,#homePage .hm-focus-learning>.hm-course-focus{margin-bottom:0}
#homePage .hm-daily-utility{padding:14px 16px;border:2px solid #21163C;border-radius:18px;background:#EAE0FA;box-shadow:0 3px 0 #B9A3DA}
#homePage .hm-daily-utility .hg-buddy-home{padding:0;border:0;background:transparent;box-shadow:none}
#homePage .hm-daily-utility .hg-buddy-home-copy strong{font-size:18px}
#homePage .hm-daily-utility>p{font:600 12px/1.5 var(--h-font);color:#665975;margin:9px 0}
#homePage .hm-utility-action{display:flex;align-items:center;justify-content:space-between;min-height:44px;width:100%;padding:10px 0 0;border:0;border-top:1px solid #C8B5E1;background:transparent;color:#5D35DC;font:900 14px var(--h-font);cursor:pointer}
#homePage .hm-today-action,#homePage .hm-progress-utility{display:flex;flex-direction:column;gap:8px;text-align:left;width:100%;padding:16px;border:2px solid #21163C;border-radius:18px;background:#fff;box-shadow:0 3px 0 #CFC2FF;color:#21163C;font-family:var(--h-font);cursor:pointer}
#homePage .hm-today-action small,#homePage .hm-progress-utility small{font-size:9px;font-weight:900;letter-spacing:.08em;color:#5D35DC}
#homePage .hm-today-action strong,#homePage .hm-progress-utility strong{font-size:18px;font-weight:900}
#homePage .hm-today-action span,#homePage .hm-progress-utility span{font-size:12px;line-height:1.5;color:#665975}
#homePage .hm-focus-side{display:flex;flex-direction:column;gap:16px}
#homePage .hj-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
#homePage .hj-tile{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;text-align:left;gap:7px;min-height:120px;padding:12px;border:2px solid #21163C;border-radius:16px;background:#fff;box-shadow:0 3px 0 #21163C;color:#21163C}
#homePage .hj-tile-icon{width:34px;height:34px;font-size:18px;border-radius:11px;background:#EEEDFE;color:#5D35DC;transform:none}
#homePage .hj-tile-label{font-size:13px;font-weight:900}
#homePage .hj-tile small{font-size:11px;line-height:1.4;font-weight:600;color:#665975}
#homePage .hj-shortcuts-head{margin:0 0 10px}
#homePage .hm-module-wotd{margin:0;width:100%}
@media(max-width:768px){#homePage .hm-focus-main-grid{gap:18px}#homePage .hm-focus-learning{order:0;gap:14px}#homePage .hm-focus-side{order:1;width:100%}#homePage .hm-focus-head{margin-bottom:12px}#homePage .hj-continue{gap:10px}#homePage .hj-tile{min-height:122px}#homePage .hj-grid{gap:10px}}

#homePage .hm-module-wotd .hm-module-badge{background:#EEEDFE;color:#5D35DC}

/* The founder's live v1.0.21 modules are the Home baseline. No feature directory. */
#homePage .hm-live-baseline{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(280px,1fr);gap:20px;align-items:start}
#homePage .hm-live-baseline>.hm-home-buddy{grid-column:1/-1;grid-row:1}
#homePage .hm-live-baseline>.hm-main-continuation{grid-column:1;grid-row:2}
#homePage .hm-live-baseline>.hm-ios-milestone{grid-column:1;grid-row:3;margin:0}
#homePage .hm-live-baseline>.hm-ios-level-slot{grid-column:2;grid-row:2;margin:0}
#homePage .hm-live-baseline>.hm-support{grid-column:1;grid-row:4;margin:0}
#homePage .hm-live-baseline>.hm-tutor-feature{grid-column:1;grid-row:5}
#homePage .hm-live-baseline>.hm-modules{grid-column:2;grid-row:3/8;display:flex;flex-direction:column;gap:16px;margin:0}
#homePage .hm-live-baseline>[data-pro-offer]{grid-column:1;grid-row:6}
#homePage .hm-live-baseline>.sk-slot{grid-column:1;grid-row:7}
#homePage .hm-live-baseline>.hm-course-explore{grid-column:1/-1;grid-row:8}
#homePage .hm-home-buddy .hg-buddy-home{display:grid;grid-template-columns:minmax(0,1fr) minmax(180px,.6fr);gap:10px;padding:13px 15px;border:2px solid #21163C;border-radius:20px;background:#FFF1C9;box-shadow:0 4px 0 #C9951F;min-width:0}
#homePage .hg-buddy-home-status{display:flex;align-items:center;gap:10px;min-width:0;min-height:52px;padding:0;background:transparent;border:0;text-align:left;font-family:var(--h-font);color:#21163C;cursor:pointer}
#homePage .hm-home-buddy .hg-buddy-home-art{display:grid;place-items:center;width:48px;height:52px;flex:none;overflow:hidden;border:2px solid #21163C;border-radius:14px;background:#FFDC79;box-shadow:0 3px 0 #C9951F}
#homePage .hm-home-buddy .hg-buddy-home-art .hg-buddy{width:46px;height:46px}
#homePage .hm-home-buddy .hg-buddy-home-copy strong{font-size:17px;line-height:1.15}
#homePage .hm-home-buddy .hg-buddy-week{display:grid;grid-column:2;gap:3px;width:100%;margin:0;box-sizing:border-box}
#homePage .hm-home-buddy .hg-buddy-week i{width:100%;max-width:28px;box-sizing:border-box}
#homePage .hm-home-buddy .hg-buddy-home-divider{display:block;margin:0;grid-column:1/-1}
#homePage .hm-home-buddy .hg-buddy-home-action{display:flex;align-items:center;gap:7px;width:100%;min-height:44px;grid-column:1/-1;padding:0;border:0;background:transparent;color:#21163C;font-family:var(--h-font);text-align:left;cursor:pointer}
#homePage .hm-home-buddy .hg-buddy-home-action svg{margin-left:auto;flex:none}
#homePage .hm-home-buddy .hg-buddy-rule{grid-column:1/-1;font-size:11px;color:#665975;line-height:1.4}
#homePage .hm-live-baseline #hgLevelBar{margin:0}
#homePage .hm-live-baseline .hm-tutor-v21{background:#22A7E6;min-height:0}
#homePage .hm-course-explore{min-height:44px;border:0;background:transparent;color:#665975;font:800 14px var(--h-font);cursor:pointer}
#homePage .hm-live-baseline .hm-module-wotd .hm-module-badge{background:#FFCF55;color:#21163C}
@media(max-width:768px){
 #homePage .hm-live-baseline{display:flex;flex-direction:column;gap:14px}
 #homePage .hm-live-baseline>*{width:100%;box-sizing:border-box}
 #homePage .hm-home-buddy .hg-buddy-home{grid-template-columns:minmax(0,1fr) minmax(135px,.85fr);padding:11px;gap:8px}
 #homePage .hm-home-buddy .hg-buddy-home-copy strong{font-size:13px}
 #homePage .hm-home-buddy .hg-buddy-home-art{width:38px;height:44px}
 #homePage .hm-home-buddy .hg-buddy-home-status{gap:7px}
 #homePage .hm-home-buddy .hg-buddy-week{padding:5px;gap:2px;min-width:0}
 #homePage .hm-home-buddy .hg-buddy-week i{height:21px}
 #homePage .hm-home-buddy .hg-buddy-home-action>strong{font-size:12px}
 #homePage .hm-home-buddy .hg-buddy-home-action>span{display:none}
 #homePage .hm-live-baseline>.hm-modules{gap:14px}
}
@media(max-width:350px){#homePage .hm-home-buddy .hg-buddy-home{grid-template-columns:1fr}#homePage .hm-home-buddy .hg-buddy-week{grid-column:1}#homePage .hm-home-buddy .hg-buddy-home-copy strong{font-size:15px}}
#homePage .hg-buddy-home-status,#homePage .hm-home-buddy .hg-buddy-home-action{box-shadow:none;border-radius:0;transform:none;letter-spacing:normal;text-transform:none}

/* One bounded Home composition: real selected activity, then daily practice.
   Uses the existing Hanguly palette, Pretendard and ChapterIllustration art. */
#homePage .hm-journey-home { max-width:1160px; padding:20px 24px 88px; }
#homePage .hm-journey-home .hm-focus-head { margin-bottom:14px; }
#homePage .hm-journey-home .hm-ios-greeting-row { display:flex; align-items:center; gap:12px; min-height:90px; }
#homePage .hm-journey-home .hm-ios-greeting-copy { flex:1; min-width:0; }
#homePage .hm-journey-home .hm-focus-greeting { font-size:30px; line-height:1.1; }
#homePage .hm-journey-home .hm-focus-sub { margin-top:5px; font-size:11px; }
#homePage .hm-journey-home .hm-companion { flex:none; width:88px; min-height:88px; display:flex; flex-direction:column; align-items:center; gap:0; padding:0; border:0; background:none; box-shadow:none; color:var(--h-navy); font:800 10px var(--h-font); cursor:pointer; text-transform:none; letter-spacing:normal; }
#homePage .hm-journey-home .hm-companion-art { width:76px; height:70px; display:grid; place-items:center; overflow:visible; }
#homePage .hm-journey-home .hm-companion-art .hg-buddy { width:100px; height:100px; zoom:.74; }
#homePage .hm-journey-home .hm-companion:active { transform:scale(.96); }
#homePage .hm-journey-home .hm-companion:focus-visible { outline:3px solid var(--h-purple); outline-offset:3px; border-radius:14px; }
#homePage .hm-journey-home .hm-live-baseline { grid-template-columns:minmax(0,1.4fr) minmax(260px,1fr); gap:18px 22px; }
#homePage .hm-journey-home .hm-main-continuation { grid-column:1; grid-row:1/4; min-width:0; }
#homePage .hm-journey-home .hm-daily-practice { grid-column:2; grid-row:1; }
#homePage .hm-journey-home .hm-ios-level-slot { grid-column:2; grid-row:2; margin:0; }
#homePage .hm-journey-home .hm-ios-milestone { grid-column:2; grid-row:3; }
#homePage .hm-journey-home .hm-modules { grid-column:1/-1; grid-row:4; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); align-items:start; gap:16px; }
#homePage .hm-journey-home [data-pro-offer] { grid-column:1; grid-row:5; }
#homePage .hm-journey-home .sk-slot { grid-column:2; grid-row:5; }
#homePage .hm-journey-home .hm-course-explore { grid-column:1/-1; grid-row:6; }
#homePage .hm-journey-home .hm-course-focus { margin:0; padding:0; border:0; border-radius:0; background:none; box-shadow:none; overflow:visible; }
#homePage .hm-journey-home .hm-learning-scene { width:100%; box-sizing:border-box; display:flex; flex-direction:column; gap:12px; padding:20px; border:2px solid var(--h-navy); border-radius:24px; background:var(--h-lilac); color:var(--h-navy); box-shadow:0 5px 0 var(--h-purple); overflow:hidden; }
#homePage .hm-journey-home .hm-scene-heading { display:flex; align-items:center; gap:8px; min-height:84px; }
#homePage .hm-journey-home .hm-scene-heading>div:first-child { flex:1; min-width:0; }
#homePage .hm-journey-home .hm-scene-heading small { display:block; color:var(--h-purple); font:900 10px/1.4 var(--h-font); letter-spacing:.07em; }
#homePage .hm-journey-home .hm-scene-heading h2 { margin:8px 0 0; max-width:none; font:900 29px/1.08 var(--h-font); color:var(--h-navy); letter-spacing:-.035em; overflow-wrap:anywhere; }
#homePage .hm-journey-home .hm-chapter-art { width:132px; height:96px; flex:none; }
#homePage .hm-journey-home .hm-language-paper { padding:12px 16px; display:flex; align-items:center; gap:12px; background:var(--h-paper); border:2px solid var(--h-navy); border-radius:16px 16px 16px 4px; box-shadow:0 3px 0 var(--h-purple-shadow,#3F20AD); }
#homePage .hm-journey-home .hm-language-paper strong { min-width:0; color:var(--h-navy); font:900 30px/1.25 var(--h-font); word-break:keep-all; overflow-wrap:anywhere; }
#homePage .hm-journey-home .hm-language-paper span { color:var(--h-navy); font:600 12px/1.4 var(--h-font); }
#homePage .hm-journey-home .hm-scene-purpose { margin:0; font:600 13px/1.45 var(--h-font); color:var(--h-navy); display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
#homePage .hm-journey-home .hm-scene-goal { margin:0; color:var(--h-purple); font:800 11px/1.4 var(--h-font); }
#homePage .hm-journey-home .hm-scene-progress { display:flex; flex-direction:column; gap:6px; }
#homePage .hm-journey-home .hm-scene-progress>span { display:flex; gap:6px; }
#homePage .hm-journey-home .hm-scene-progress i { display:grid; place-items:center; width:22px; height:6px; border-radius:4px; background:var(--h-paper); color:var(--h-navy); font:900 9px var(--h-font); font-style:normal; }
#homePage .hm-journey-home .hm-scene-progress i.is-done { background:var(--h-purple); color:white; height:6px; font-size:0; }
#homePage .hm-journey-home .hm-scene-progress small { font:700 10px/1.4 var(--h-font); color:var(--h-navy); }
#homePage .hm-journey-home .hm-scene-action { display:flex; align-items:center; justify-content:space-between; width:100%; min-height:50px; gap:10px; margin:2px 0 0; padding:12px 16px; background:var(--h-purple); color:var(--h-white,#fff); border:2px solid var(--h-navy); border-radius:14px; box-shadow:0 4px 0 var(--h-navy); font:900 16px/1.3 var(--h-font); text-align:left; cursor:pointer; transition:transform .12s,box-shadow .12s; text-transform:none; letter-spacing:normal; }
#homePage .hm-journey-home .hm-scene-action svg { flex:none; }
#homePage .hm-journey-home .hm-scene-action:active { transform:translateY(3px); box-shadow:0 1px 0 var(--h-navy); }
#homePage .hm-journey-home .hm-scene-action:focus-visible { outline:3px solid var(--h-navy); outline-offset:5px; }
#homePage .hm-journey-home .hm-scene-dialogue { display:flex; flex-direction:column; gap:8px; }
#homePage .hm-journey-home .hm-scene-contact { display:flex; align-items:center; justify-content:space-between; gap:8px; color:var(--h-navy); }
#homePage .hm-journey-home .hm-scene-contact b { font-size:12px; }
#homePage .hm-journey-home .hm-scene-contact small { font:800 8px/1.3 var(--h-font); text-align:right; }
#homePage .hm-journey-home .hm-scene-dialogue p { align-self:flex-start; max-width:100%; box-sizing:border-box; padding:10px 13px; border:2px solid var(--h-navy); border-radius:15px 15px 15px 3px; background:var(--h-paper); color:var(--h-navy); margin:0; font:800 21px/1.4 var(--h-font); word-break:keep-all; overflow-wrap:anywhere; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
#homePage .hm-journey-home .hm-scene-dialogue p.is-mine { align-self:flex-end; background:var(--h-pink); border-radius:15px 15px 3px 15px; }
#homePage .hm-journey-home .hm-scene-note { font:600 11px/1.4 var(--h-font); color:var(--h-navy); }
#homePage .hm-journey-home .hm-letter-scene { position:relative; width:110px; height:92px; flex:none; }
#homePage .hm-journey-home .hm-letter-scene i,#homePage .hm-journey-home .hm-letter-scene b { position:absolute; display:grid; place-items:center; width:47px; height:51px; border:2px solid var(--h-navy); border-radius:12px; background:var(--h-paper); font:900 30px var(--h-font); color:var(--h-navy); box-shadow:0 3px 0 var(--h-purple); }
#homePage .hm-journey-home .hm-letter-scene i:first-child { top:3px; left:2px; rotate:-9deg; }
#homePage .hm-journey-home .hm-letter-scene i:nth-child(2) { right:0; top:5px; rotate:9deg; background:var(--h-pink); }
#homePage .hm-journey-home .hm-letter-scene b { bottom:0; left:30px; background:var(--h-blue); }
#homePage .hm-journey-home .hm-daily-practice { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
#homePage .hm-journey-home .hm-daily-practice>button { display:flex; flex-direction:column; align-items:flex-start; position:relative; min-width:0; min-height:138px; padding:14px; border:2px solid var(--h-navy); border-radius:19px; box-shadow:0 3px 0 var(--h-navy); color:var(--h-navy); text-align:left; font-family:var(--h-font); cursor:pointer; transition:transform .12s; text-transform:none; letter-spacing:normal; }
#homePage .hm-journey-home .hm-daily-practice>button:only-child { grid-column:1/-1; min-height:100px; padding-right:80px; }
#homePage .hm-journey-home .hm-practice-mix { background:#37CB91; }
#homePage .hm-journey-home .hm-practice-review { background:var(--h-lilac); }
#homePage .hm-journey-home .hm-practice-symbol { position:absolute; right:11px; top:13px; display:grid; place-items:center; width:32px; height:34px; border:1.5px solid var(--h-navy); border-radius:10px; background:var(--h-paper); rotate:8deg; font-size:13px; font-weight:900; }
#homePage .hm-journey-home .hm-daily-practice small { padding-right:34px; font-size:9px; font-weight:900; letter-spacing:.06em; }
#homePage .hm-journey-home .hm-daily-practice strong { display:block; margin-top:18px; font-size:16px; font-weight:900; line-height:1.12; letter-spacing:-.02em; max-width:15ch; }
#homePage .hm-journey-home .hm-daily-practice button>span:last-child { display:flex; align-items:center; justify-content:space-between; gap:8px; width:100%; margin-top:auto; padding-top:9px; font-size:11px; font-weight:600; }
#homePage .hm-journey-home .hm-daily-practice button:active { transform:translateY(2px); box-shadow:0 1px 0 var(--h-navy); }
#homePage .hm-journey-home #hgLevelBar { margin:0; padding:4px 0; background:transparent; border:0; border-radius:0; box-shadow:none; }
#homePage .hm-journey-home .hm-level-details summary { display:flex; align-items:center; gap:12px; min-height:44px; list-style:none; cursor:pointer; color:var(--h-navy); }
#homePage .hm-journey-home .hm-level-details summary::-webkit-details-marker { display:none; }
#homePage .hm-journey-home .hm-level-details summary>span { flex:1; display:flex; flex-direction:column; gap:3px; }
#homePage .hm-journey-home .hm-level-details summary small { font:900 8px var(--h-font); letter-spacing:.08em; color:var(--h-purple); }
#homePage .hm-journey-home .hm-level-details summary strong { font:900 15px var(--h-font); }
#homePage .hm-journey-home .hm-level-details summary>b { font:800 12px var(--h-font); color:var(--h-purple); }
#homePage .hm-journey-home .hm-level-details summary>i { font-style:normal; color:var(--h-purple); font-size:17px; }
#homePage .hm-journey-home .hm-level-details[open] summary>i { rotate:180deg; }
#homePage .hm-journey-home .hm-level-counts { display:grid; gap:6px; padding:8px 0 10px; color:var(--h-navy); font:600 12px/1.4 var(--h-font); }
#homePage .hm-journey-home .hm-level-counts p { margin:0; font-size:11px; color:var(--h-muted,#81768B); }
#homePage .hm-journey-home .hm-level-meter { height:6px; overflow:hidden; border-radius:4px; background:var(--h-line,#DDD5E2); margin-top:6px; }
#homePage .hm-journey-home .hm-level-meter i { height:100%; display:block; background:var(--h-purple); border-radius:4px; }
#homePage .hm-journey-home #hgLevelBar .hm-level-next { margin:5px 0 0; color:var(--h-muted,#81768B); font:600 10px/1.4 var(--h-font); }
#homePage .hm-journey-home .hm-ios-milestone { display:flex; align-items:center; gap:8px; min-height:40px; padding:5px 0; margin:0; border:0; border-radius:0; box-shadow:none; background:none; color:var(--h-navy); }
#homePage .hm-journey-home .hm-ios-milestone strong { font-size:11px; font-weight:700; }
#homePage .hm-journey-home .hm-ios-milestone-icon { width:24px; height:24px; border-radius:8px; font-size:11px; }
#homePage .hm-journey-home .hm-module-mission { padding:11px 0; background:transparent; border:0; border-top:1px solid var(--h-line,#DDD5E2); border-bottom:1px solid var(--h-line,#DDD5E2); box-shadow:none; border-radius:0; }
#homePage .hm-journey-home .hm-module-wotd { padding:14px; border:0; border-radius:18px; background:var(--h-lilac); box-shadow:none; }
#homePage .hm-journey-home .hm-wotd-body strong { font-size:25px; }
#homePage .hm-journey-home .hm-speak { min-height:128px; }
@media(max-width:768px) {
 #homePage .hm-journey-home { padding:10px 16px 90px; }
 #homePage .hm-journey-home .hm-ios-greeting-row { gap:6px; min-height:84px; }
 #homePage .hm-journey-home .hm-focus-greeting { font-size:27px; }
 #homePage .hm-journey-home .hm-focus-kicker { font-size:11px; }
 #homePage .hm-journey-home .hm-focus-sub { font-size:10px; }
 #homePage .hm-journey-home .hm-companion { width:78px; }
 #homePage .hm-journey-home .hm-phone-pro { min-height:36px; padding:0 10px; font-size:10px; align-self:flex-start; margin-top:16px; }
 #homePage .hm-journey-home .hm-live-baseline { display:flex; flex-direction:column; gap:16px; }
 #homePage .hm-journey-home .hm-main-continuation { order:0; }
 #homePage .hm-journey-home .hm-daily-practice { order:1; }
 #homePage .hm-journey-home .hm-ios-level-slot { order:2; }
 #homePage .hm-journey-home .hm-ios-milestone { order:3; }
 #homePage .hm-journey-home .hm-modules { order:4; display:flex; gap:14px; }
 #homePage .hm-journey-home [data-pro-offer] { order:5; }
 #homePage .hm-journey-home .sk-slot { order:6; }
 #homePage .hm-journey-home .hm-course-explore { order:7; }
 #homePage .hm-journey-home .hm-learning-scene { padding:16px; gap:11px; border-radius:22px; }
 #homePage .hm-journey-home .hm-scene-heading h2 { font-size:26px; }
 #homePage .hm-journey-home .hm-chapter-art { width:116px; height:84px; }
 #homePage .hm-journey-home .hm-scene-purpose { font-size:12px; line-height:1.45; }
 #homePage .hm-journey-home .hm-language-paper { padding:10px 14px; }
 #homePage .hm-journey-home .hm-daily-practice>button { min-height:132px; padding:13px; }
}
@media(max-width:350px) {
 #homePage .hm-journey-home .hm-scene-heading h2 { font-size:23px; }
 #homePage .hm-journey-home .hm-chapter-art { width:96px; }
 #homePage .hm-journey-home .hm-companion { width:68px; }
 #homePage .hm-journey-home .hm-phone-pro { padding:0 7px; }
 #homePage .hm-journey-home .hm-daily-practice { gap:10px; }
}
@media(prefers-reduced-motion:reduce) {
 #homePage .hm-journey-home *,#homePage .hm-journey-home *::before,#homePage .hm-journey-home *::after { animation:none!important; transition:none!important; }
}
/* Final refinement uses the original navy/pink scene, authored lesson-world
   artwork and mascot. The learning-first hierarchy above is unchanged. */
#homePage .hm-journey-home .hm-ios-greeting-row { gap:12px; }
#homePage .hm-journey-home .hm-companion { width:78px; }
#homePage .hm-journey-home .hm-companion-art { background:#FFF6E6; border-radius:26px; }
#homePage .hm-journey-home .hm-phone-pro { align-self:center; margin:0; min-height:44px; padding:0 6px; border:0; background:transparent; color:var(--h-navy); box-shadow:none; font-size:11px; }
#homePage .hm-journey-home .hm-phone-pro .pro-crown { stroke:var(--pro-accent); }
#homePage .hm-journey-home .hm-learning-scene { gap:10px; background:var(--h-navy); border-color:#110447; }
#homePage .hm-journey-home .hm-scene-heading { min-height:48px; }
#homePage .hm-journey-home .hm-scene-heading small { color:var(--h-pink); }
#homePage .hm-journey-home .hm-scene-heading h2 { color:white; font-size:25px; margin-top:6px; }
#homePage .hm-journey-home .hm-lesson-world { display:flex; align-items:center; gap:10px; min-height:110px; padding:10px; background:var(--h-lilac); border:2px solid #110447; border-radius:16px; }
#homePage .hm-journey-home .hm-original-scene { flex:none; width:118px; height:auto; }
#homePage .hm-journey-home .hm-original-logo { width:52px; height:52px; flex:none; border:2px solid #110447; border-radius:17px; box-shadow:0 4px 0 #110447; rotate:-5deg; }
#homePage .hm-journey-home .hm-language-paper { display:flex; flex:1; min-width:0; flex-direction:column; align-items:flex-start; gap:5px; padding:10px; border-radius:13px 13px 13px 3px; background:#fff; }
#homePage .hm-journey-home .hm-language-paper small { color:var(--h-purple); font:900 7.5px/1.3 var(--h-font); letter-spacing:.05em; }
#homePage .hm-journey-home .hm-language-paper strong { font:800 21px/1.3 var(--h-font); }
#homePage .hm-journey-home .hm-language-paper span { font:600 11px/1.4 var(--h-font); }
#homePage .hm-journey-home .hm-scene-purpose { color:var(--h-lilac); }
#homePage .hm-journey-home .hm-scene-progress small { color:var(--h-lilac); }
#homePage .hm-journey-home .hm-scene-action { background:var(--h-pink); color:var(--h-navy); box-shadow:0 4px 0 #B94FC2; }
#homePage .hm-journey-home .hm-scene-action:active { box-shadow:0 1px 0 #B94FC2; }
#homePage .hm-journey-home .hm-scene-action:focus-visible { outline-color:var(--h-pink); }
#homePage .hm-journey-home .hm-scene-contact,#homePage .hm-journey-home .hm-scene-note { color:var(--h-lilac); }
#homePage .hm-journey-home .hm-practice-mix { background:var(--h-pink); box-shadow:0 3px 0 #B94FC2; }
#homePage .hm-journey-home .hm-practice-review { background:var(--h-blue); box-shadow:0 3px 0 #0878B5; }
#homePage .hm-journey-home .hm-daily-practice>button { min-height:122px; }
#homePage .hm-journey-home .hm-scene-updated { animation:hmSelectedActivity .22s ease-out both; }
@keyframes hmSelectedActivity { from { opacity:.88;translate:0 3px; } to { opacity:1;translate:0 0; } }
@media(max-width:350px){#homePage .hm-journey-home .hm-ios-greeting-row{gap:7px}#homePage .hm-journey-home .hm-original-scene{width:96px}#homePage .hm-journey-home .hm-scene-heading h2{font-size:23px}#homePage .hm-journey-home .hm-language-paper strong{font-size:19px}}
@media(prefers-reduced-motion:reduce){#homePage .hm-journey-home .hm-scene-updated{animation:none}}

#homePage .hm-journey-home .hm-pro-discovery{display:inline-flex;align-items:center;justify-content:center;gap:5px;font:800 11px var(--h-font);cursor:pointer}#homePage .hm-journey-home .hm-pro-discovery .pro-crown{width:14px;height:14px;fill:none;stroke:var(--pro-accent);stroke-width:2}

/* Restored greeting, yellow streak card and navy-and-gold Pro control (27 Oct).
   Twin of iOS HomeExperience StreakCard / HeaderStatus. Data and action come
   from js/home-streak-core.js; nothing here invents a completed day. */
#homePage .hm-journey-home .hm-ios-greeting-row { display:flex; align-items:center; justify-content:space-between; gap:12px; min-height:76px; }
#homePage .hm-pro-control { flex:none; display:inline-flex; align-items:center; gap:6px; min-height:40px; margin:0; padding:0 13px; border:2px solid var(--pro-ink,#070047); border-radius:13px; background:var(--pro-surface,#21163C); color:var(--pro-accent,#FFCF4F); font:900 13.5px/1 var(--h-font); letter-spacing:-.01em; text-transform:none; box-shadow:none; cursor:pointer; transition:transform .12s, box-shadow .12s; }
#homePage .hm-pro-control.is-offer { box-shadow:0 3px 0 var(--pro-accent-edge,#C9951F); }
#homePage .hm-pro-control .pro-crown { width:16px; height:16px; fill:none; stroke:var(--pro-accent,#FFCF4F); stroke-width:2.2; stroke-linejoin:round; stroke-linecap:round; }
#homePage .hm-pro-control:active { transform:translateY(2px); box-shadow:0 1px 0 var(--pro-accent-edge,#C9951F); }
#homePage .hm-pro-control:focus-visible { outline:3px solid var(--h-purple); outline-offset:3px; }
@media(min-width:769px){ #homePage .hm-pro-control { display:none; } }

#homePage .hm-home-streak { margin:0 0 16px; }
#homePage .hm-streak-card { position:relative; display:flex; flex-direction:column; border:2px solid var(--h-navy,#21163C); border-radius:18px; background:#FFF1C9; color:var(--h-navy,#21163C); box-shadow:0 3px 0 #D6AF71; overflow:hidden; }
#homePage .hm-streak-main { display:flex; align-items:center; gap:10px; width:100%; min-height:64px; margin:0; padding:10px 12px 0; border:0; background:none; color:inherit; font:inherit; text-align:left; text-transform:none; letter-spacing:normal; box-shadow:none; cursor:pointer; }
#homePage .hm-streak-main:focus-visible { outline:3px solid var(--h-purple); outline-offset:-3px; border-radius:16px; }
#homePage .hm-streak-buddy { flex:none; display:grid; place-items:center; width:64px; height:60px; margin:-4px 0; }
#homePage .hm-streak-buddy .hg-buddy { width:100px; height:100px; zoom:.86; flex:none; margin-top:-14px; }
#homePage .hm-streak-copy { flex:1; min-width:0; display:flex; flex-direction:column; gap:1px; }
#homePage .hm-streak-copy strong { display:flex; align-items:center; gap:5px; font:900 17px/28px var(--h-font); letter-spacing:-.02em; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
#homePage .hm-streak-copy strong b { font-size:25px; letter-spacing:-.03em; }
#homePage .hm-streak-copy>span { font:700 13px/16px var(--h-font); color:#5B4B3C; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
#homePage .hm-streak-card.is-secured .hm-streak-copy>span { color:var(--h-purple); }
#homePage .hm-streak-flame { display:grid; place-items:center; width:24px; height:26px; flex:none; font-style:normal; }
#homePage .hm-streak-flame svg { width:22px; height:24px; fill:#E3D2AE; stroke:var(--h-navy,#21163C); stroke-width:1.6; }
#homePage .hm-streak-flame.is-lit svg { fill:#FF9B4A; }
#homePage .hm-streak-card.is-secured .hm-streak-flame.is-lit svg { animation:hmStreakFlame .5s cubic-bezier(.3,1.6,.5,1) both; }
#homePage .hm-streak-freeze { flex:none; align-self:flex-start; margin-top:2px; padding:3px 7px; border:1.5px solid #8CBEDB; border-radius:9px; background:#E3F1FA; color:#1C6FA3; font:900 11px/1.2 var(--h-font); }
#homePage .hm-streak-week { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); gap:0; margin:8px 12px 0; padding:4px 9px 5px; list-style:none; border:1.5px solid #E0B761; border-top-color:#CE9F44; border-radius:13px; background:#F6D68C; }
#homePage .hm-streak-week li { display:flex; flex-direction:column; align-items:center; gap:2px; margin:0; }
#homePage .hm-streak-week b { font:900 9.5px/1.3 var(--h-font); color:#7E6234; letter-spacing:.02em; }
#homePage .hm-streak-week li.is-today b,#homePage .hm-streak-week li.is-today-done b { color:var(--h-navy,#21163C); }
#homePage .hm-streak-week i { display:grid; place-items:center; width:24px; height:24px; box-sizing:border-box; border-radius:8px; border:1.6px solid #D9B778; background:transparent; font-style:normal; font-size:11px; line-height:1; }
#homePage .hm-streak-week i svg { width:11px; height:12px; fill:var(--h-warm,#FFCF55); stroke:none; }
#homePage .hm-streak-week li.is-learned i,#homePage .hm-streak-week li.is-kept i { border:0; background:var(--h-navy,#21163C); animation:hmStreakDay .32s cubic-bezier(.3,1.5,.5,1) both; }
#homePage .hm-streak-week li.is-frozen i { border-color:#8CBEDB; background:#DCEEF9; color:#3E8FC0; }
#homePage .hm-streak-week li.is-today i { border:2.6px solid var(--h-pink,#F297FE); background:#FFFCF2; box-shadow:0 2px 0 #D8B27C; }
#homePage .hm-streak-week li.is-today-done i { border:2px solid var(--h-navy,#21163C); background:var(--h-pink,#F297FE); box-shadow:0 2px 0 #B94FC2; animation:hmStreakDay .4s cubic-bezier(.3,1.6,.5,1) both; }
#homePage .hm-streak-week li.is-today-done i svg { fill:var(--h-navy,#21163C); }
#homePage .hm-streak-week li:nth-child(2) i{animation-delay:.05s}#homePage .hm-streak-week li:nth-child(3) i{animation-delay:.1s}#homePage .hm-streak-week li:nth-child(4) i{animation-delay:.15s}#homePage .hm-streak-week li:nth-child(5) i{animation-delay:.2s}#homePage .hm-streak-week li:nth-child(6) i{animation-delay:.25s}#homePage .hm-streak-week li:nth-child(7) i{animation-delay:.3s}
#homePage .hm-streak-action { display:flex; align-items:center; gap:9px; width:auto; min-height:46px; margin:8px 12px 0; padding:7px 0 9px; border:0; border-top:1.5px solid #EBD3A2; border-radius:0; background:none; color:var(--h-navy,#21163C); font:inherit; text-align:left; text-transform:none; letter-spacing:normal; box-shadow:none; cursor:pointer; }
#homePage .hm-streak-action>b { display:grid; place-items:center; flex:none; width:24px; height:24px; border:1.5px solid var(--h-navy,#21163C); border-radius:8px; background:var(--h-warm,#FFCF55); font:900 13px/1 var(--h-font); }
#homePage .hm-streak-action.is-done { cursor:default; }
#homePage .hm-streak-action.is-done>b { background:var(--h-mint,#37CB91); }
#homePage .hm-streak-action>span { flex:1; min-width:0; display:flex; flex-direction:column; }
#homePage .hm-streak-action strong { font:900 12.5px/1.3 var(--h-font); letter-spacing:-.01em; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
#homePage .hm-streak-action>span>span { font:700 11px/1.3 var(--h-font); color:#8C7040; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
#homePage .hm-streak-action svg { flex:none; }
#homePage .hm-streak-action:not(.is-done):active { transform:translateY(1px); }
#homePage .hm-streak-action:focus-visible { outline:3px solid var(--h-purple); outline-offset:2px; border-radius:8px; }
@media(min-width:769px){
  #homePage .hm-streak-card { display:grid; grid-template-columns:minmax(0,1fr) minmax(300px,.9fr); align-items:center; column-gap:16px; padding-bottom:0; }
  #homePage .hm-streak-main { padding-bottom:6px; }
  #homePage .hm-streak-week { margin:8px 12px 6px 0; }
  #homePage .hm-streak-action { grid-column:1/-1; }
}
@keyframes hmStreakDay { from { transform:scale(.72); } to { transform:scale(1); } }
@keyframes hmStreakFlame { from { transform:scale(.8); } to { transform:scale(1); } }
@media(prefers-reduced-motion:reduce){ #homePage .hm-streak-week i,#homePage .hm-streak-flame svg { animation:none!important; } }
/* Practice card titles wrap before the corner badge instead of running under it. */
#homePage .hm-journey-home .hm-daily-practice strong { max-width:none; padding-right:30px; }
