@font-face{font-family:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(data:font/woff2;base64,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) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/plus-jakarta-sans-vietnamese-wght-normal-qRpaaN48.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/plus-jakarta-sans-latin-ext-wght-normal-DmpS2jIq.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/plus-jakarta-sans-latin-wght-normal-eXO_dkmS.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{font-family:Plus Jakarta Sans Variable,Avenir Next,sans-serif;color:#111512;background:#f2efe9;font-synthesis:none;--ink: #111512;--paper: #ffffff;--ground: #f2efe9;--sage: #637568;--sage-light: #e8ede8;--blue: #3e78ff;--line: #d7dbd6;--muted: #7f7b73;--shadow: 0 24px 70px rgba(26, 32, 28, .13), 0 5px 0 rgba(17, 21, 18, .94)}*{box-sizing:border-box}html,body,#root{width:100%;height:100%;margin:0;overflow:hidden}body{min-width:320px;background:radial-gradient(circle at 90% 92%,rgba(213,225,217,.7),transparent 29rem),radial-gradient(circle at 8% 6%,rgba(227,223,214,.72),transparent 24rem),var(--ground)}button,a{font:inherit}button{color:inherit}button:focus-visible,a:focus-visible,[role=button]:focus-visible{outline:3px solid rgba(62,120,255,.45);outline-offset:3px}.app-shell{width:min(100%,1760px);height:100dvh;margin:0 auto;padding:max(20px,env(safe-area-inset-top)) clamp(24px,4.3vw,82px) max(16px,env(safe-area-inset-bottom));display:grid;grid-template-rows:72px minmax(0,1fr) 30px;gap:10px}.topbar{display:flex;align-items:flex-start;justify-content:space-between}.topbar,.practice,.stage,.footer{min-width:0}.brand{padding:0;border:0;background:transparent;display:grid;justify-items:start;cursor:pointer}.brand-title{color:var(--sage);font-size:clamp(20px,1.6vw,27px);font-weight:850;letter-spacing:.14em;line-height:1}.brand-subtitle{margin-top:8px;color:#77736b;font-size:11px;font-weight:720;letter-spacing:.19em;text-transform:uppercase}.top-actions{display:flex;align-items:center;gap:10px}.quiet-button,.primary-button{min-height:46px;padding:0 22px;border:1px solid var(--line);border-radius:999px;background:#ffffffa6;color:var(--sage);font-weight:760;cursor:pointer;transition:transform .16s ease,background .16s ease,border-color .16s ease}.quiet-button:hover,.primary-button:hover{transform:translateY(-2px);background:#fff;border-color:#bcc4bd}.browse-button{display:flex;align-items:center;gap:13px}.source-button{border-color:transparent;background:transparent}.practice{width:min(100%,1380px);min-height:0;margin:0 auto;display:grid;grid-template-rows:30px 3px minmax(0,1fr) 60px;gap:12px}.practice.is-celebrating{grid-template-rows:30px 3px minmax(0,1fr)}.practice-meta{display:flex;align-items:end;justify-content:space-between;color:#66635d;font-size:15px;font-weight:740}.position{display:flex;gap:8px}.position span:first-child{color:var(--ink)}.total-progress{color:var(--sage)}.progress-track{width:100%;height:3px;overflow:hidden;background:#63756829}.progress-track span{display:block;width:0;height:100%;background:var(--blue);transition:width .28s ease}.stage{position:relative;min-height:0;isolation:isolate}.flashcard{position:relative;z-index:2;display:block;width:100%;height:100%;min-height:340px;padding:0;border:0;border-radius:44px;background:transparent;cursor:pointer}.card-rotor{position:relative;display:block;width:100%;height:100%;border:3px solid var(--blue);border-radius:44px;box-shadow:var(--shadow);overflow:hidden;transform-origin:50% 50%;will-change:transform,filter}.card-rotor:after{content:"";position:absolute;inset:0;z-index:5;pointer-events:none;background:linear-gradient(90deg,transparent 31%,rgba(255,255,255,.8) 50%,transparent 69%);opacity:0}.flashcard.is-flip-closing .card-rotor{animation:card-fold-safe .26s cubic-bezier(.55,.08,.75,.25) both}.flashcard.is-flip-opening .card-rotor{animation:card-unfold-safe .36s cubic-bezier(.16,.86,.3,1) both}.flashcard.is-flip-closing .card-rotor:after{animation:card-sheen .26s ease-in both}.flashcard.is-flip-opening .card-rotor:after{animation:card-sheen .36s ease-out reverse both}.flashcard.is-flip-closing,.flashcard.is-flip-opening{pointer-events:none}.card-face{position:absolute;inset:6px;border:2px solid var(--ink);border-radius:36px;background:var(--paper);overflow:hidden}.card-face:before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(128deg,rgba(255,255,255,.8),transparent 24%),radial-gradient(circle at 92% 8%,rgba(232,237,232,.7),transparent 26%)}.card-front{display:grid;grid-template-rows:auto minmax(0,1fr) auto;place-items:center;padding:clamp(24px,3vw,52px)}.front-center{position:relative;z-index:2;width:100%;min-height:0;display:grid;place-content:center;place-items:center;gap:clamp(24px,4vh,46px)}.front-kicker,.detail-label,.modal-kicker,.celebration-kicker{position:relative;z-index:1;color:var(--sage);font-size:11px;font-weight:820;letter-spacing:.18em;text-transform:uppercase}.headword{position:relative;z-index:1;max-width:94%;color:var(--ink);font-size:clamp(72px,10.4vw,176px);font-weight:880;letter-spacing:-.075em;line-height:.92;white-space:nowrap}.headword.is-long{font-size:clamp(58px,8.3vw,135px)}.headword.is-wide{font-size:clamp(66px,9.2vw,154px)}.headword.is-very-long{font-size:clamp(48px,6.7vw,110px)}.audio-row{position:relative;z-index:3;display:flex;gap:12px}.audio-button{min-width:92px;height:48px;padding:0 17px;border:1px solid var(--line);border-radius:999px;background:#f8f9f7;display:flex;align-items:center;justify-content:center;gap:9px;color:var(--sage);font-size:12px;font-weight:820;letter-spacing:.12em;cursor:pointer;transition:transform .12s ease,color .12s ease,background .12s ease}.audio-button:hover,.audio-button.is-speaking{transform:translateY(-2px);color:#fff;background:var(--sage)}.audio-button svg{width:20px;fill:currentColor;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.flip-hint{position:relative;z-index:1;align-self:end;color:#9a958b;font-size:13px;font-weight:700}.card-back{padding:clamp(24px,3.2vw,54px) clamp(28px,5vw,88px);display:grid;grid-template-rows:auto auto auto auto auto minmax(0,1fr);gap:clamp(10px,1.6vh,20px);align-content:start;text-align:left}.back-topline,.chinese,.definition,.detail-block,.card-back .flip-hint{position:relative;z-index:1}.back-topline{display:flex;align-items:center;justify-content:space-between;gap:20px}.back-word{color:var(--ink);font-size:clamp(22px,2.1vw,34px);font-weight:860;letter-spacing:-.045em}.part-of-speech{padding:8px 13px;border:1px solid var(--line);border-radius:999px;color:var(--sage);background:#f8f9f7d1;font-size:10px;font-weight:820;letter-spacing:.11em;text-transform:uppercase}.chinese{color:#7f7a71;font-size:clamp(13px,1vw,16px);font-weight:650;letter-spacing:.08em}.definition{max-width:1120px;align-self:start;color:var(--ink);font-size:clamp(18px,1.55vw,26px);font-weight:620;letter-spacing:-.028em;line-height:1.28}.is-dense .definition{font-size:clamp(16px,1.35vw,22px)}.detail-block{padding-top:clamp(12px,1.7vh,20px);border-top:1px solid #e1e4df;display:grid;grid-template-columns:minmax(130px,.25fr) minmax(0,1fr);align-items:start;gap:24px}.collocations{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.collocations>span{min-height:44px;padding:10px 15px;border:1px solid #dce0dc;border-radius:14px;background:#f6f8f5;color:var(--sage);font-size:clamp(14px,1.2vw,18px);font-weight:760}.example{color:#57554f;font-size:clamp(15px,1.35vw,20px);font-weight:540;line-height:1.45}.example strong{color:var(--ink);font-weight:860}.card-back .flip-hint{align-self:end;justify-self:center;padding-top:2px}.spark{position:absolute;z-index:1;width:36px;fill:var(--ink);pointer-events:none}.spark-left{left:-54px;top:42%;transform:rotate(-13deg)}.spark-right{right:-56px;top:16%;width:29px;fill:var(--sage);transform:rotate(16deg)}.card-nav{display:flex;align-items:end;justify-content:center;gap:12px}.nav-button{min-width:142px;height:50px;padding:0 22px;border:1px solid #d2d7d2;border-radius:999px;background:#ffffff9e;display:flex;align-items:center;justify-content:center;gap:10px;color:#4f514d;font-size:14px;font-weight:760;cursor:pointer;transition:transform .15s ease,background .15s ease}.nav-button:hover:not(:disabled){transform:translateY(-2px);background:#fff}.nav-button:disabled{opacity:.35;cursor:not-allowed}.nav-button svg,.primary-button svg{width:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.nav-button svg.is-left{transform:rotate(180deg)}.next-button{color:var(--ink)}.footer{display:flex;align-items:end;justify-content:space-between;color:#858078;font-size:10px;font-weight:680;letter-spacing:.08em;text-transform:uppercase}.footer button{padding:0;border:0;background:transparent;color:inherit;font-size:inherit;letter-spacing:inherit;text-transform:inherit;cursor:pointer}.footer a{color:inherit;text-decoration:none}.footer-phone{font-variant-numeric:tabular-nums;letter-spacing:.12em}.celebration-card{position:relative;width:100%;height:100%;min-height:340px;padding:clamp(30px,5vw,72px);border:3px solid var(--blue);border-radius:44px;background:#fff;box-shadow:var(--shadow);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;overflow:hidden}.celebration-card:after{content:"";position:absolute;inset:6px;border:2px solid var(--ink);border-radius:36px;pointer-events:none}.celebration-card h1{position:relative;z-index:1;margin:13px 0 0;font-size:clamp(54px,8vw,122px);font-weight:880;letter-spacing:-.075em;line-height:.95}.celebration-card h2{position:relative;z-index:1;margin:23px 0 7px;color:var(--sage);font-size:clamp(18px,2vw,28px);font-weight:820}.celebration-card p{position:relative;z-index:1;max-width:680px;margin:0;color:#68645d;font-size:clamp(15px,1.5vw,20px);font-weight:570;line-height:1.55}.celebration-stat{position:relative;z-index:1;margin:clamp(22px,4vh,42px) 0 22px;display:flex;align-items:baseline;gap:8px;color:#77736b;font-size:12px;font-weight:720;text-transform:uppercase;letter-spacing:.11em}.celebration-stat strong{color:var(--ink);font-size:28px;font-weight:860;letter-spacing:-.04em}.celebration-actions{position:relative;z-index:1;display:flex;gap:10px}.primary-button{border-color:var(--ink);background:var(--ink);color:#fff;display:flex;align-items:center;gap:12px}.primary-button:hover{border-color:var(--ink);background:#2a302c}.celebration-spark{z-index:0;width:68px}.celebration-spark.one{left:10%;top:21%;fill:var(--sage)}.celebration-spark.two{right:11%;bottom:19%;width:46px;fill:var(--ink);transform:rotate(21deg)}.modal-layer{position:fixed;z-index:20;inset:0;padding:24px;background:#191c1952;backdrop-filter:blur(14px);display:grid;place-items:center;animation:veil-in .16s ease-out}.modal{width:min(880px,100%);max-height:min(760px,calc(100dvh - 48px));padding:clamp(24px,4vw,48px);border:2px solid var(--ink);border-radius:34px;background:#faf9f6;box-shadow:0 25px 90px #080a093d;overflow:auto;animation:modal-in .23s cubic-bezier(.2,.8,.2,1)}.modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:30px}.modal h2{margin:7px 0 0;font-size:clamp(32px,4.5vw,56px);font-weight:860;letter-spacing:-.06em}.close-button{width:46px;height:46px;border:1px solid var(--line);border-radius:50%;background:#fff;font-size:29px;font-weight:450;line-height:1;cursor:pointer}.pack-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.pack-card{min-height:78px;padding:14px 16px;border:1px solid #d9ddd8;border-radius:18px;background:#fff;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:16px;text-align:left;cursor:pointer;transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease}.pack-card:hover,.pack-card.is-current{transform:translateY(-2px);border-color:var(--blue);box-shadow:0 8px 22px #19231c14}.pack-number{color:var(--sage);font-size:12px;font-weight:840;letter-spacing:.12em}.pack-copy{display:grid;gap:4px}.pack-copy strong{font-size:16px;font-weight:810}.pack-copy span{color:#8a857c;font-size:12px;font-weight:620}.pack-status{width:31px;height:31px;border-radius:50%;background:#f0f2ef;display:grid;place-items:center;color:#8e928d;font-size:13px;font-weight:820}.pack-status.is-done{background:var(--sage);color:#fff}.sources-modal{width:min(720px,100%)}.source-copy{display:grid;gap:18px;color:#5d5a54;font-size:16px;font-weight:540;line-height:1.65}.source-copy p{margin:0}.source-links{display:flex;flex-wrap:wrap;gap:10px;margin-top:10px}.source-links a{padding:10px 14px;border:1px solid var(--line);border-radius:999px;color:var(--sage);font-size:12px;font-weight:760;text-decoration:none}@keyframes veil-in{0%{opacity:0}}@keyframes modal-in{0%{opacity:0;transform:translateY(16px) scale(.985)}}@keyframes card-fold-safe{0%{transform:scaleX(1) scaleY(1) rotate(0);filter:brightness(1)}38%{transform:scaleX(.72) scaleY(1.015) rotate(-.18deg);filter:brightness(.985)}78%{transform:scaleX(.2) scaleY(.97) skewY(-.55deg);filter:brightness(.92)}to{transform:scaleX(.018) scaleY(.92);filter:brightness(.84)}}@keyframes card-unfold-safe{0%{transform:scaleX(.018) scaleY(.92);filter:brightness(.84)}42%{transform:scaleX(.72) scaleY(1.02) skewY(.4deg);filter:brightness(.98)}68%{transform:scaleX(1.035) scaleY(1);filter:brightness(1.01)}86%{transform:scaleX(.985) scaleY(1);filter:brightness(1)}to{transform:scaleX(1) scaleY(1);filter:brightness(1)}}@keyframes card-sheen{0%,to{opacity:0}48%{opacity:.9}}@media(max-width:760px){.app-shell{padding:max(12px,env(safe-area-inset-top)) 13px max(10px,env(safe-area-inset-bottom));grid-template-rows:45px minmax(0,1fr) 20px;gap:5px}.topbar{align-items:center}.brand-title{font-size:18px}.brand-subtitle,.source-button{display:none}.browse-button{min-height:38px;padding:0 14px;font-size:12px}.practice{grid-template-rows:24px 2px minmax(0,1fr) 48px;gap:8px}.practice.is-celebrating{grid-template-rows:24px 2px minmax(0,1fr)}.practice-meta{font-size:11px}.stage{min-height:0}.flashcard,.celebration-card{min-height:0;border-radius:28px}.card-rotor,.celebration-card{border-width:2px;border-radius:28px;box-shadow:0 15px 42px #1a201c1f,0 4px #111512f2}.card-face{inset:4px;border-width:1.5px;border-radius:23px}.card-front{padding:22px 16px 18px}.front-center{gap:22px}.front-kicker{font-size:9px}.headword{max-width:98%;font-size:clamp(48px,18vw,82px);letter-spacing:-.075em}.headword.is-long{font-size:clamp(34px,10.8vw,56px)}.headword.is-wide{font-size:clamp(41px,13.5vw,64px)}.headword.is-very-long{font-size:clamp(30px,8.8vw,46px)}.audio-row{gap:8px}.audio-button{min-width:84px;height:44px;padding:0 13px}.flip-hint{font-size:10px}.card-back{padding:18px 17px 15px;grid-template-rows:auto auto auto auto auto minmax(0,1fr);gap:clamp(9px,1.7vh,14px)}.back-word{font-size:20px}.part-of-speech{max-width:46%;overflow:hidden;padding:6px 9px;font-size:8px;text-overflow:ellipsis;white-space:nowrap}.chinese{font-size:11px;line-height:1.35}.definition{font-size:clamp(15px,4vw,18px);line-height:1.26;padding:2px 0 4px}.is-dense .definition{font-size:clamp(13px,3.55vw,15px)}.detail-block{padding-top:10px;grid-template-columns:82px minmax(0,1fr);gap:12px}.detail-label{font-size:8px;line-height:1.45;padding-top:4px}.collocations{gap:6px}.collocations>span{min-height:34px;padding:7px 8px;border-radius:10px;font-size:11px;line-height:1.25}.example{font-size:clamp(12px,3.35vw,14px);line-height:1.4}.card-back .flip-hint,.spark-left,.spark-right{display:none}.card-nav{align-items:center;gap:8px}.nav-button{width:50%;min-width:0;height:44px;padding:0 12px;font-size:12px}.footer{display:flex;align-items:center;justify-content:center;gap:9px;min-width:0;color:#777d76;font-size:9px;font-weight:720;line-height:1;white-space:nowrap}.footer-brand,.footer-phone{display:inline}.footer button{display:none}.celebration-card{padding:28px 22px}.celebration-card:after{inset:4px;border-width:1.5px;border-radius:23px}.celebration-card h1{max-width:100%;font-size:clamp(34px,11.2vw,50px);white-space:nowrap}.celebration-card h2{margin-top:17px;font-size:18px}.celebration-card p{max-width:290px;font-size:13px}.celebration-stat{margin:19px 0 16px}.celebration-actions{width:100%;display:grid;grid-template-columns:1fr 1.3fr}.celebration-actions button{min-height:43px;padding:0 11px;justify-content:center;font-size:10px}.celebration-spark.one{left:8%;top:14%;width:40px}.celebration-spark.two{right:8%;bottom:18%;width:28px}.modal-layer{padding:12px}.modal{max-height:calc(100dvh - 24px);padding:24px 18px;border-radius:25px}.modal-head{margin-bottom:20px}.modal h2{font-size:34px}.pack-grid{grid-template-columns:1fr;gap:8px}.pack-card{min-height:64px}.source-copy{font-size:14px}}@media(max-height:650px)and (max-width:760px){.app-shell{padding-top:max(8px,env(safe-area-inset-top));padding-bottom:max(7px,env(safe-area-inset-bottom));grid-template-rows:42px minmax(0,1fr) 18px}.practice{grid-template-rows:20px 2px minmax(0,1fr) 42px;gap:6px}.practice.is-celebrating{grid-template-rows:20px 2px minmax(0,1fr)}.browse-button{min-height:34px}.card-front{padding:16px 14px 12px}.headword{font-size:clamp(44px,16vw,68px)}.audio-button{height:39px}.card-back{padding:12px 15px 10px;gap:8px}.definition{font-size:clamp(14px,4.1vw,18px)}.is-dense .definition{font-size:clamp(12px,3.6vw,15px)}.collocations>span{min-height:31px;padding:5px 7px}.nav-button{height:39px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.flashcard.is-flip-closing .card-rotor,.flashcard.is-flip-closing .card-rotor:after{animation-duration:.26s!important}.flashcard.is-flip-opening .card-rotor,.flashcard.is-flip-opening .card-rotor:after{animation-duration:.36s!important}}
