.hg-root{--p:#66023c;--ink:#302734;--blue:#245c84;--cream:#fbf8f3;--gold:#c39848}
.hg-root *{box-sizing:border-box}
.hg-root{margin:0;color:var(--ink);background:var(--cream);font:16px system-ui,sans-serif}
.hg-root button,.hg-root textarea,.hg-root input{font:inherit}
.hg-root button{cursor:pointer}
.hg-root button:disabled{opacity:.5;cursor:default}
.hg-root header{height:83px;border-bottom:1px solid #e9e0df;display:flex;align-items:center;justify-content:space-between;padding:0 max(5vw,20px);background:#fff}
.hg-root header strong{font:26px Perpetua,Georgia,serif;color:var(--p)}
.hg-root header small{display:block;font:10px system-ui;letter-spacing:3px;margin-top:5px}
.hg-root button.quiet{background:transparent;border:1px solid #ded5d8;color:var(--p);border-radius:24px;padding:10px 16px}
.hg-root main{max-width:1100px;margin:30px auto;padding:0 22px}
.hg-root .meta{display:flex;align-items:center;justify-content:space-between;gap:15px}
.hg-root .eyebrow{font-size:11px;letter-spacing:2px;font-weight:750;color:var(--p)}
.hg-root .score{border-radius:20px;background:#fff;padding:12px 19px;border:1px solid #e9e0df}
.hg-root .week{display:flex;gap:13px;margin:20px 0 27px}
.hg-root .day{text-align:center;font-size:10px;color:#938a94}
.hg-root .day span{display:grid;place-items:center;width:33px;height:33px;border:1px solid #e1d7dc;border-radius:50%;margin-top:6px;font-size:13px;background:#fff}
.hg-root .day.active span{background:var(--p);color:#fff;box-shadow:0 0 0 4px #66023c13}
.hg-root .layout{display:grid;grid-template-columns:minmax(0,1fr) 265px;gap:35px;align-items:center}
.hg-root .card{background:#fff;border:1px solid #e9e1e3;border-radius:26px;padding:34px;box-shadow:0 16px 48px #44243b06;min-height:470px}
.hg-root .progress{height:6px;background:#eee7eb;border-radius:10px;margin:12px 0 28px;overflow:hidden}
.hg-root .progress i{display:block;background:var(--p);height:100%;transition:width .6s}
.hg-root .step{font-size:11px;letter-spacing:1.5px;color:#8b7b89;text-transform:uppercase}
.hg-root h1{font:38px/1.15 Georgia,serif;margin:15px 0}
.hg-root h2{font:28px/1.3 Georgia,serif;margin:15px 0 23px}
.hg-root p{line-height:1.7}
.hg-root .sub{color:#857584;font-size:13px}
.hg-root .primary{background:var(--p);color:white;border:0;border-bottom:4px solid #420026;padding:14px 24px;border-radius:14px;font-weight:700}
.hg-root .primary:active{transform:translateY(2px);border-bottom-width:2px}
.hg-root .actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:24px;align-items:center}
.hg-root .option{width:100%;text-align:left;border:2px solid #ebe5e9;background:#fff;border-bottom-width:4px;border-radius:15px;padding:15px;margin:6px 0;transition:.15s}
.hg-root .option b{display:inline-grid;place-items:center;border:1px solid #e3d8df;width:28px;height:28px;border-radius:8px;margin-right:13px;font-size:12px}
.hg-root .option.selected{border-color:var(--p);background:#fbf0f6}
.hg-root .option:hover{background:#fcf5f9}
.hg-root .feedback{padding:14px;border-radius:12px;background:#edf6f0;color:#246041;margin-top:18px}
.hg-root .feedback.wrong{background:#fff2ea;color:#925327}
.hg-root textarea,.hg-root input.answer{width:100%;border:2px solid #e8e0e5;padding:16px;border-radius:14px;outline:none;background:#fffcfe}
.hg-root textarea:focus,.hg-root input:focus{border-color:var(--p)}
.hg-root textarea{min-height:150px;resize:vertical}
.hg-root .guide{text-align:center;position:relative}
.hg-root .bubble{background:#fff;border-radius:20px;padding:18px;font-size:14px;line-height:1.6;border:1px solid #e7dce3;position:relative;min-height:85px}
.hg-root .bubble:after{content:"";position:absolute;bottom:-10px;left:45%;width:18px;height:18px;background:#fff;transform:rotate(45deg);border-bottom:1px solid #e7dce3;border-right:1px solid #e7dce3}
.hg-root .guide img{width:235px;height:355px;object-fit:contain;mix-blend-mode:multiply;animation:breathe 4s ease-in-out infinite;transform-origin:bottom}
.hg-root .guide.cheer img{animation:cheer .7s ease 2}
.hg-root .guide label{display:block;font-size:11px;letter-spacing:2px;color:var(--p)}
.hg-root .scene{height:145px;border-radius:18px;background:linear-gradient(#22234d,#736283);position:relative;overflow:hidden;color:#fff;margin:20px 0}
.hg-root .star{position:absolute;color:#f8db89;animation:twinkle 2s ease-in-out infinite}
.hg-root .hills{position:absolute;bottom:-40px;left:-10%;width:120%;height:100px;border-radius:50%;background:#24294a}
.hg-root .manger{position:absolute;bottom:20px;left:45%;font-size:45px;color:#f1cf8d}
.hg-root .scene span:last-child{position:absolute;bottom:17px;left:20px;font:italic 17px Georgia}
.hg-root .reading{max-height:270px;overflow:auto;padding-right:10px}
.hg-root .badge{display:inline-block;background:#f5edf2;color:var(--p);padding:7px 12px;border-radius:30px;font-size:12px}
.hg-root .record{border:1px solid #ded4dc;background:#fff;border-radius:12px;padding:12px 16px;color:var(--p)}
.hg-root .record.on{background:#a02540;color:#fff;animation:twinkle 1s infinite}
.hg-root audio{width:100%;margin-top:15px}
.hg-root .total{font:70px Georgia;color:var(--p);margin:20px 0}
.hg-root .list{padding:0;list-style:none}
.hg-root .list li{display:flex;justify-content:space-between;padding:11px 0;border-bottom:1px solid #eee6eb;font-size:14px}
.hg-root footer{text-align:center;color:#918590;font-size:11px;padding:30px}
.hg-root .notice{background:#eee6ec;color:#6a5567;padding:9px 20px;text-align:center;font-size:11px}
.hg-root .hidden{display:none}
@keyframes breathe{50%{transform:translateY(-6px) rotate(.5deg)}}
@keyframes cheer{35%{transform:translateY(-20px) rotate(-4deg)}70%{transform:rotate(4deg)}}
@keyframes twinkle{50%{opacity:.4}}
@media(max-width:750px){.hg-root header{height:70px}
.hg-root .layout{grid-template-columns:1fr;gap:15px}
.hg-root .guide{display:flex;align-items:center;grid-row:1;min-height:95px;text-align:left}
.hg-root .guide img{width:80px;height:110px;order:-1;margin-right:15px}
.hg-root .guide label{display:none}
.hg-root .bubble{flex:1;padding:12px;min-height:0}
.hg-root .bubble:after{display:none}
.hg-root .card{padding:24px;min-height:0}
.hg-root h1{font-size:30px}
.hg-root h2{font-size:25px}
.hg-root main{margin-top:22px}
.hg-root .week{margin-bottom:14px}
.hg-root .scene{height:125px}
.hg-root .score{font-size:13px;padding:10px}
.hg-root .meta{align-items:flex-start}
}
@media(prefers-reduced-motion:reduce){.hg-root *,.hg-root *:before,.hg-root *:after{animation:none!important;transition:none!important}
}
.hg-root .guide video{width:235px;height:355px;object-fit:contain;border-radius:16px;background:#fff}
.hg-root .guide video[hidden],.hg-root .guide img[hidden]{display:none}
.hg-root .welcome-play{display:block;margin:8px auto 16px;background:#fff;border:1px solid #ded5d8;border-radius:20px;padding:9px 14px;color:var(--p);font-size:12px}
@media(max-width:750px){.hg-root .guide video{width:110px;height:165px;order:-1;margin-right:12px}
.hg-root .welcome-play{margin:10px auto;font-size:11px}
.hg-root .guide:has(video:not([hidden])){flex-wrap:wrap}
}
.hg-root .stop-audio{border:1px solid #a02540;background:white;color:#a02540;border-radius:22px;padding:10px 14px}
.hg-root .stop-audio[hidden]{display:none}
.hg-root .header-controls{display:flex;gap:8px;align-items:center}
.hg-root .justeen-slot{width:235px;height:355px;margin:auto;position:relative;flex-shrink:0}
.hg-root .justeen-slot img,.hg-root .justeen-slot video{width:100%;height:100%;object-fit:contain;display:block;margin:0;background:transparent;mix-blend-mode:multiply}
.hg-root .justeen-slot video{animation:none;border-radius:0}
.hg-root .justeen-slot [hidden],.hg-root .welcome-play[hidden]{display:none}
.hg-root .justeen-controls{display:flex;justify-content:center}
.hg-root .justeen-controls button{margin:8px auto 16px}
@media(max-width:750px){.hg-root .justeen-slot{width:80px;height:110px;order:-1;margin:0 15px 0 0}
.hg-root .justeen-controls{flex-basis:100%;order:3}
.hg-root .guide{flex-wrap:wrap}
.hg-root .guide .bubble{min-width:150px}
.hg-root .justeen-slot img,.hg-root .justeen-slot video{width:100%;height:100%;margin:0}
}
.hg-root body.embedded header,.hg-root body.embedded>.notice,.hg-root body.embedded footer,.hg-root body.embedded .meta,.hg-root body.embedded .week{display:none}
.hg-root body.embedded main{margin:16px auto}
.hg-root body.embedded .card{box-shadow:none}
.hg-root body.embedded .layout{gap:20px}

.hg-root{max-width:1100px!important;width:100%;margin:28px auto;padding:0 22px;background:transparent;font-family:system-ui,sans-serif;color:#302734}.hg-root [hidden]{display:none!important}.hg-root button,.hg-root input,.hg-root select,.hg-root textarea{font:inherit}.hg-root a{color:#66023c}.hg-root h2{margin-top:10px}.hg-root .hg-meta{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;align-items:center;margin-bottom:22px}.hg-root .hg-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(155px,1fr));gap:16px;margin:20px 0}.hg-root .hg-stat{border:1px solid #eadfe5;border-radius:18px;padding:20px;background:#fff}.hg-root .hg-stat strong{display:block;font:32px Georgia;color:#66023c}.hg-root .hg-stat span{font-size:12px;color:#857584}.hg-root .hg-week{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;margin:20px 0}.hg-root .hg-day{padding:12px 3px;border:1px solid #e5d9e1;border-radius:15px;background:#fff;color:#66023c;font-size:11px}.hg-root .hg-day strong{display:block;font-size:17px;margin:6px 0}.hg-root .hg-day.complete{background:#edf6f0;color:#246041}.hg-root .hg-day.partial{background:#fff2dd}.hg-root .hg-day.missed{color:#91838c;background:#f4f0f2}.hg-root .hg-day.today{outline:2px solid #66023c}.hg-root .hg-nav{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0}.hg-root .hg-nav button{padding:10px 15px;border-radius:18px;border:1px solid #e1d6dd;background:white;color:#66023c}.hg-root label{display:block;margin:14px 0}.hg-root input:not([type=checkbox]):not([type=radio]),.hg-root select{display:block;width:100%;border:1px solid #dfd2db;border-radius:10px;padding:11px;background:white;color:#302734}.hg-root input[type=checkbox]{margin-right:8px}.hg-root .card{min-height:0}.hg-root .hg-login{max-width:520px;margin:auto}.hg-root .hg-trap{position:absolute;left:-9999px}.hg-root .hg-table{overflow:auto}.hg-root table{border-collapse:collapse;width:100%;font-size:13px}.hg-root th,.hg-root td{text-align:left;border-bottom:1px solid #eadfe5;padding:12px;vertical-align:top}.hg-root .hg-flash{position:relative;background:#edf6f0;border-radius:12px;padding:16px;margin:14px 0;white-space:pre-wrap}.hg-root .hg-flash.error{background:#fff2ea;color:#925327}.hg-root .hg-flash button{float:right;border:0;background:none;color:inherit}.hg-root .hg-flow{white-space:pre-wrap}.hg-root .hg-journal{margin:12px 0}.hg-root .hg-photo{max-width:160px;max-height:160px;border-radius:12px}.hg-root .hg-muted{font-size:13px;color:#857584}.hg-root .hg-list{display:grid;gap:12px}.hg-root .hg-admin-card{margin:16px 0}.hg-root .hg-controls{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.hg-root .hg-controls label{margin:0}.hg-root .hg-wide{grid-column:1/-1}.hg-root .hg-ready{color:#246041}.hg-root .hg-progress{height:8px;border-radius:10px;background:#eee7eb;overflow:hidden}.hg-root .hg-progress span{height:100%;display:block;background:#66023c}.hg-root :focus-visible{outline:3px solid #245c84;outline-offset:3px}.hg-root .guide img{animation:none}.hg-root .guide.cheer img{animation:none}.hg-root .hg-language{max-width:160px}.hg-root .hg-calendar label{margin:0}.hg-root .hg-small{font-size:12px}.hg-root .hg-scroll{max-height:420px;overflow:auto}.hg-root .reading{max-height:350px}.hg-root .hg-chip{display:inline-block;background:#f5edf2;border-radius:20px;padding:8px 12px;margin:5px;font-size:12px;color:#66023c}.hg-root .hg-question-editor{border-top:1px solid #eadfe5;padding-top:12px;margin-top:20px}.hg-root .hg-empty{padding:30px;text-align:center;color:#857584}.hg-root .hg-hero{border-radius:18px;max-height:220px;width:100%;object-fit:cover;margin:15px 0}.hg-root .guide .justeen-slot{max-width:100%}.hg-root .hg-response-box{background:#faf6f8;border-radius:12px;padding:15px;margin:12px 0}.hg-root .hg-response-box pre{white-space:pre-wrap;overflow-wrap:anywhere;font:13px system-ui}.hg-root .hg-badge{background:#f5edf2;color:#66023c;padding:7px 12px;border-radius:30px;font-size:12px;display:inline-block}@media(max-width:750px){.hg-root{padding:0 12px;margin:18px auto}.hg-root .hg-day{font-size:9px}.hg-root .hg-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hg-root .card{padding:22px}.hg-root .hg-nav{gap:6px}.hg-root .hg-nav button{font-size:12px}.hg-root .guide{margin-bottom:10px}.hg-root .hg-week{gap:4px}}
.hg-root{box-sizing:border-box;min-width:0}.hg-root .layout>*{min-width:0}.hg-root .hg-flow{overflow-wrap:anywhere}.hg-root fieldset{border:0;padding:0;min-width:0}.hg-root .hg-meta .score{white-space:nowrap}
.hg-root #hg-month{max-width:180px;text-align:center;font-size:13px}.hg-root .hg-day{overflow:hidden}
