:root{--bg:#f8f7f2;--paper:#fff;--ink:#203b36;--muted:#78837a;--green:#164b43;--mint:#e5eee5;--lime:#dcebaf;--line:#e6e8df;--gold:#eebc61;--red:#a03e37;--shadow:0 14px 38px #203b3608;font-family:Inter,"Segoe UI",Arial,sans-serif;color:var(--ink);background:var(--bg);font-synthesis:none}
*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit}button:disabled{cursor:default}a{color:inherit}button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible{outline:3px solid #a5c35b;outline-offset:4px}button{border:0}svg{width:20px;height:20px;flex-shrink:0;stroke:currentColor;fill:none;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8}h1,h2,h3,p{margin-top:0}button svg{pointer-events:none}h1{font-weight:650;letter-spacing:-1.8px}h2{font-size:21px;letter-spacing:-.5px}.shell{min-height:100vh;display:grid;grid-template-columns:252px minmax(0,1fr)}.sidebar{padding:30px 19px;border-right:1px solid var(--line);background:#fdfcf8;display:flex;flex-direction:column;position:sticky;top:0;height:100vh;overflow-y:auto}.brand{display:flex;gap:11px;align-items:center;background:none;text-align:left;padding:0 8px 32px}.brand img{width:39px;height:39px}.brand strong{font-size:19px;letter-spacing:-.5px;display:block}.brand small{font-size:10px;letter-spacing:1.7px;font-weight:600;color:var(--muted);display:block;margin-top:3px}.nav-item{width:100%;display:flex;align-items:center;gap:11px;padding:12px 14px;background:transparent;border-radius:10px;text-align:left;font-size:13px;line-height:1.35}.nav-item:hover{background:#eef1e9}.nav-item.active{color:var(--green);background:var(--mint);font-weight:650}.nav-item svg{width:18px;height:18px}.badge{margin-left:auto;background:#e7e9e1;font-size:10px;min-width:23px;text-align:center;padding:3px 6px;border-radius:6px}.nav-label{font-size:10px;letter-spacing:1.4px;font-weight:700;color:#8a9388;margin:29px 14px 11px}.section-nav{gap:10px;font-size:11.6px;padding:10px 13px}.section-no{font-size:10px;width:20px;color:#939e90;font-weight:600}.sidebar-note{margin:24px 8px 0;padding:17px 13px 14px;background:#f0f0e7;border-radius:12px;font-size:11px;line-height:1.7;color:#747c6e}.sidebar-note strong{display:block;color:var(--green);font-size:12px;margin-bottom:4px}.sidebar-note svg{width:17px;vertical-align:middle;margin-right:4px}.main-wrap{min-width:0}.topbar{height:85px;padding:0 45px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:15px}.topbar-title{font-size:13px;font-weight:500;display:flex;gap:10px;align-items:center}.topbar-title span{color:var(--muted);font-weight:400}.streak-pill{display:flex;align-items:center;gap:7px;border:1px solid var(--line);border-radius:30px;padding:8px 13px;font-size:11px;background:#fdfcf8}.streak-pill svg{color:#d99636;width:17px}.profile-dot{width:30px;height:30px;border-radius:50%;background:var(--mint);display:grid;place-items:center;font-size:11px;font-weight:700}.topbar-right{display:flex;gap:17px;align-items:center}.mobile-menu{display:none;background:none;padding:5px}.content{max-width:1260px;margin:auto;padding:39px 45px 35px}.eyebrow{font-size:10px;text-transform:uppercase;letter-spacing:1.8px;color:var(--muted);font-weight:700;margin-bottom:14px}.hero{display:grid;grid-template-columns:1fr 210px;gap:12px;align-items:center;margin-bottom:28px}.hero h1{font-size:43px;line-height:1.24;margin:0 0 13px}.hero h1 em{font-style:normal;color:#608265}.hero p{font-size:13px;color:var(--muted);line-height:1.8;margin-bottom:0}.hero-art{height:170px;position:relative;display:grid;place-items:center}.orbit{position:absolute;border:1px solid #dce4d5;border-radius:50%;width:166px;height:166px;transform:rotate(-25deg) scaleY(.75)}.art-card{width:102px;height:130px;background:var(--green);border-radius:14px;position:absolute;transform:rotate(13deg) translate(20px,0);box-shadow:5px 10px 20px #164b4310;display:grid;place-items:center;color:#e6f0ce;font-size:38px;font-weight:700}.art-card.back{background:#d6e6b3;transform:rotate(-13deg) translate(-20px,-5px)}.art-card.main{background:#fffef9;transform:rotate(-7deg);border:1px solid #dee4d2;color:var(--green);display:flex;flex-direction:column;justify-content:center;gap:9px;font-size:18px;letter-spacing:-.4px}.art-card.main small{font-size:10px;font-weight:400;color:var(--muted)}.spark{position:absolute;right:8px;top:24px;color:#c2a461;font-size:28px}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin-bottom:29px}.stat{padding:20px 21px;background:var(--paper);border:1px solid var(--line);border-radius:13px;display:flex;gap:15px;align-items:center}.stat-icon{display:grid;place-items:center;width:39px;height:42px;border-radius:11px;background:#edf2e8;color:#55775d}.stat:nth-child(2) .stat-icon{background:#fcf1de;color:#bd914c}.stat:nth-child(3) .stat-icon{background:#ececf5;color:#8580a3}.stat-label{font-size:11px;color:var(--muted);margin-bottom:5px}.stat-num{font-size:24px;letter-spacing:-.7px;font-weight:650}.stat-num small{font-size:11px;font-weight:400;letter-spacing:0;color:var(--muted);margin-left:4px}.play-panel{background:white;border:1px solid var(--line);border-radius:17px;overflow:hidden;margin-bottom:32px;box-shadow:var(--shadow)}.panel-top{display:flex;align-items:center;justify-content:space-between;padding:23px 24px 19px;gap:10px}.panel-top h2{margin:0 0 5px;font-size:19px}.panel-top p{margin:0;font-size:11.5px;color:var(--muted)}.tag{background:#f0f4e7;color:#74884e;border-radius:20px;font-size:10px;padding:6px 10px;white-space:nowrap}.modes{display:grid;grid-template-columns:repeat(3,1fr);gap:11px;padding:0 24px 22px}.mode{border:1px solid var(--line);background:#fcfcf9;border-radius:11px;display:flex;align-items:center;gap:12px;padding:15px;text-align:left;transition:.15s}.mode:hover{border-color:#9caf8b;transform:translateY(-2px)}.mode.active{border-color:var(--green);background:#edf3e9;box-shadow:0 0 0 1px var(--green)}.mode svg{width:23px;height:23px;color:#6b8370}.mode strong{display:block;font-size:13px}.mode small{font-size:10px;color:var(--muted);display:block;margin-top:4px}.mode .mode-check{margin-left:auto;border:1px solid #c7cfc0;width:14px;height:14px;border-radius:50%}.mode.active .mode-check{border:4px solid var(--green);background:white}.controls{padding:20px 24px;border-top:1px solid var(--line);background:#fcfcf8;display:grid;grid-template-columns:minmax(160px,1fr) 130px 130px auto;gap:12px;align-items:end}.control label{display:block;font-size:10px;font-weight:600;color:var(--muted);margin-bottom:7px}.control select{width:100%;background:#fff;border:1px solid #dedfd5;border-radius:8px;padding:10px 26px 10px 10px;min-height:39px;color:var(--ink);font-size:11px}.primary,.secondary,.soft-button{display:inline-flex;justify-content:center;align-items:center;gap:9px;border-radius:9px;padding:12px 20px;font-size:12px;font-weight:600;min-height:41px}.primary{background:var(--green);color:white}.primary:hover{background:#246257}.primary:disabled{opacity:.4}.primary svg{width:17px;height:17px}.secondary{background:white;border:1px solid var(--line)}.secondary:hover{background:#f0f2ea}.soft-button{background:var(--mint);color:var(--green)}.section-heading{display:flex;justify-content:space-between;gap:15px;align-items:center;margin-bottom:16px}.section-heading h2{margin:0;font-size:20px}.section-heading p{margin:7px 0 0;font-size:11px;color:var(--muted)}.search-box{position:relative;max-width:240px}.search-box svg{position:absolute;left:12px;top:11px;width:15px;height:15px;color:var(--muted)}.search-box input{width:100%;padding:11px 12px 11px 35px;background:transparent;border:1px solid var(--line);border-radius:9px;font-size:11px}.lesson-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.lesson-card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:18px;text-align:left;display:flex;flex-direction:column;min-height:165px;transition:.18s}.lesson-card:hover{box-shadow:var(--shadow);transform:translateY(-3px);border-color:#b2c3a4}.lesson-card-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:15px}.lesson-num{font-size:10px;color:#87927f;letter-spacing:1px;font-weight:600}.lesson-icon{background:#f2f4ec;border-radius:8px;padding:5px;display:grid;place-items:center;color:#758766}.lesson-icon svg{width:16px;height:16px}.lesson-card h3{font-size:13px;line-height:1.5;margin:0 0 7px;font-weight:650}.lesson-card p{font-size:10px;color:var(--muted);line-height:1.6;margin:0 0 13px;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}.lesson-progress{margin-top:auto;display:flex;align-items:center;gap:9px;font-size:9px;color:var(--muted)}.progress-track{height:4px;background:#edf0e8;border-radius:10px;overflow:hidden;flex:1}.progress-fill{height:100%;background:#98b67e;border-radius:10px}.load-more{margin:22px auto 0;display:block}.footer{display:flex;justify-content:space-between;gap:12px;margin:33px 0 0;font-size:10px;color:#8d958b;line-height:1.6}.footer span:first-child{display:flex;gap:6px;align-items:center}.footer svg{width:13px;height:13px}.empty{padding:36px;border:1px dashed #ccd5c4;border-radius:13px;text-align:center;color:var(--muted);font-size:13px;grid-column:1/-1}.session-content{max-width:940px;margin:auto;padding:34px 45px}.session-toolbar{display:flex;justify-content:space-between;align-items:center;font-size:12px;gap:10px}.text-button{padding:8px 0;background:none;display:flex;align-items:center;gap:7px;color:var(--muted);font-size:11px}.session-badges{display:flex;gap:8px;align-items:center}.pill{padding:7px 11px;background:#eef1e6;border-radius:20px;color:#728366;font-size:10px}.session-progress{height:6px;border-radius:10px;background:#e7e9df;margin:20px 0 24px;overflow:hidden}.session-progress>div{height:100%;background:var(--green);border-radius:10px;transition:width .3s}.question-label{font-size:10px;text-transform:uppercase;letter-spacing:1.2px;color:var(--muted);text-align:center;margin:12px 0}.study-card{border:1px solid var(--line);border-radius:19px;background:white;min-height:270px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:34px 25px;position:relative;box-shadow:var(--shadow);width:100%;text-align:center}.question-word{font-size:42px;line-height:1.3;letter-spacing:-1px;font-weight:650;overflow-wrap:anywhere;margin:7px 0 13px}.question-word.meaning{font-size:28px;letter-spacing:-.5px}.study-context{font-size:11px;color:var(--muted);line-height:1.7}.listen{display:inline-flex;align-items:center;gap:7px;font-size:10px;color:#6f8567;background:#f0f4e9;padding:8px 12px;border-radius:20px;margin-top:4px}.listen svg{width:15px;height:15px}.flip-hint{color:#929b8c;font-size:10px;margin-top:26px;display:flex;align-items:center;gap:6px}.flip-hint svg{width:14px;height:14px}.answers{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:22px}.answer{display:flex;align-items:center;gap:13px;min-height:71px;text-align:left;padding:14px 18px;border:1px solid var(--line);border-radius:12px;background:white;font-size:13px;line-height:1.55}.answer:hover:not(:disabled){border-color:#7b9870;background:#f4f8ef}.answer-key{border:1px solid var(--line);width:26px;height:27px;border-radius:7px;display:grid;place-items:center;font-size:10px;color:var(--muted);flex-shrink:0}.answer.correct{border-color:#70945d;background:#edf5e7;color:#376139}.answer.incorrect{border-color:#cd9b8d;background:#fcf0eb;color:var(--red)}.answer.correct .answer-key{background:#699159;color:white;border-color:#699159}.answer.incorrect .answer-key{background:#be7c6a;color:white;border-color:#be7c6a}.answer:disabled{opacity:1}.feedback{margin-top:18px;background:#eaf2e4;border:1px solid #dce8d3;border-radius:12px;padding:16px 18px;display:flex;align-items:center;gap:18px;justify-content:space-between}.feedback.wrong{background:#fcf0e8;border-color:#ecd7c9}.feedback strong{font-size:13px;display:block;margin-bottom:4px}.feedback p{font-size:11px;margin:0;line-height:1.7;color:var(--muted)}.key-hint{text-align:center;margin:22px 0;color:#979f92;font-size:10px}.flash-actions{display:flex;gap:12px;justify-content:center;margin:23px 0}.flash-actions button{min-width:150px}.flash-card{cursor:pointer;min-height:320px}.flash-card.flipped{background:#eff4e8;border-color:#cdddbf}.flip-divider{width:40px;height:2px;background:#b9caa4;margin:15px}.flash-card .translation{font-size:22px;line-height:1.5;max-width:600px}.flash-card .original-small{font-size:16px;color:var(--muted)}.match-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:24px 0}.match-card{background:white;border:1px solid var(--line);border-radius:12px;min-height:114px;padding:17px 12px;font-size:13px;line-height:1.5;position:relative;overflow-wrap:anywhere}.match-card small{display:block;font-size:8px;font-weight:700;letter-spacing:1.3px;color:#9aa38f;margin-bottom:8px}.match-card.selected{border:2px solid var(--green);background:#ecf2e5}.match-card.matched{opacity:.35;border-color:#b5c79f;background:#e9efe1;cursor:default}.match-card.wrong{border-color:#c77f6a;background:#f9ebe5}.match-title{text-align:center;font-size:27px;letter-spacing:-.7px;margin:18px 0 8px}.match-sub{text-align:center;font-size:12px;color:var(--muted)}.result{max-width:650px;margin:28px auto;text-align:center}.result-symbol{height:80px;width:80px;background:#e6efcf;color:var(--green);border-radius:25px;display:grid;place-items:center;margin:0 auto 24px;transform:rotate(-7deg)}.result-symbol svg{height:39px;width:39px;transform:rotate(7deg)}.result h1{font-size:33px;margin:0 0 12px}.result>p{font-size:13px;color:var(--muted);line-height:1.8}.result-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:13px;margin:26px 0}.result-stat{padding:22px 12px;border:1px solid var(--line);background:white;border-radius:13px}.result-stat strong{display:block;font-size:27px;margin-bottom:8px}.result-stat span{font-size:10px;color:var(--muted)}.result-actions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}.missed-list{text-align:left;margin-top:30px;background:white;border:1px solid var(--line);border-radius:13px;padding:21px}.missed-list h3{font-size:13px;margin-bottom:14px}.missed-row{display:flex;justify-content:space-between;gap:15px;padding:10px 0;border-bottom:1px solid var(--line);font-size:12px}.missed-row:last-child{border:0}.missed-row span{color:var(--muted);text-align:right}.session-note{text-align:center;font-size:11px;color:var(--muted);line-height:1.7;margin:20px 0}.mobile-overlay{display:none}.skip{position:absolute;left:10px;top:-100px;background:white;padding:12px;z-index:100}.skip:focus{top:10px}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:var(--green);color:#fff;padding:12px 20px;border-radius:10px;font-size:12px;z-index:100;box-shadow:var(--shadow);max-width:90vw;text-align:center;display:none}#toast.show{display:block;animation:toast .2s ease-out}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}@keyframes toast{from{opacity:0;bottom:15px}to{opacity:1;bottom:25px}}
@media(min-width:1500px){.content{padding-top:48px}.hero h1{font-size:49px}.hero-art{height:195px}.hero{margin-bottom:38px}}
@media(max-width:1180px){.shell{grid-template-columns:222px minmax(0,1fr)}.sidebar{padding-left:12px;padding-right:12px}.content{padding:30px}.topbar{padding:0 30px}.hero h1{font-size:36px}.hero{grid-template-columns:1fr 145px}.hero-art{transform:scale(.8)}.controls{grid-template-columns:minmax(140px,1fr) 105px 105px}.controls>.primary{grid-column:1/-1}.mode{padding:12px;gap:8px}.mode .mode-check{display:none}.stat{padding:15px;gap:10px}.stat-icon{width:31px;height:36px}.lesson-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:800px){.shell{display:block}.sidebar{position:fixed;left:-270px;top:0;width:252px;z-index:50;transition:left .2s;box-shadow:20px 0 60px #203b3610}.shell.menu-open .sidebar{left:0}.mobile-overlay.visible{display:block;position:fixed;inset:0;background:#102d2355;z-index:49}.mobile-menu{display:block}.topbar{height:68px;padding:0 21px}.topbar-title{gap:8px}.topbar-title span{display:none}.topbar-right{gap:10px}.profile-dot{display:none}.content{padding:27px 21px}.hero{grid-template-columns:1fr 115px;gap:0}.hero h1{font-size:31px;letter-spacing:-1px}.hero-art{transform:scale(.65);transform-origin:center center}.hero p{font-size:12px}.eyebrow{font-size:9px;letter-spacing:1px}.stats{gap:9px;margin-bottom:23px}.stat{display:block;padding:13px 10px}.stat-icon{display:none}.stat-num{font-size:22px}.stat-label{font-size:10px;white-space:nowrap}.stat-num small{font-size:9px;margin-left:1px}.panel-top{padding:19px 17px}.panel-top .tag{display:none}.modes{padding:0 17px 17px;gap:8px}.mode{display:block;text-align:center;padding:12px 6px}.mode svg{width:20px;margin:0 auto 6px}.mode small{font-size:9px}.mode strong{font-size:12px}.controls{padding:16px 17px;grid-template-columns:1fr 1fr;gap:12px}.controls .control:first-child{grid-column:1/-1}.controls>.primary{grid-column:1/-1}.section-heading{align-items:flex-start;flex-wrap:wrap}.search-box{max-width:none;width:100%}.lesson-grid{gap:10px}.lesson-card{padding:15px;min-height:164px}.lesson-card h3{font-size:12px}.footer{display:block;font-size:9px}.footer>span{margin:7px 0}.session-content{padding:24px 20px}.session-toolbar{font-size:11px}.session-badges{gap:4px}.pill{font-size:9px;padding:6px 8px}.question-word{font-size:34px}.question-word.meaning{font-size:24px}.study-card{min-height:245px;padding:27px 18px}.answers{gap:9px}.answer{padding:12px 10px;font-size:12px;min-height:76px;gap:8px}.answer-key{width:23px;height:25px}.feedback{align-items:stretch;flex-direction:column;gap:12px}.feedback .primary{width:100%}.flash-card{min-height:310px}.flash-actions{gap:10px}.flash-actions button{min-width:0;flex:1}.match-grid{gap:9px}.match-card{min-height:102px;font-size:12px;padding:13px 8px}.result h1{font-size:28px}.result-stats{gap:9px}.result-stat{padding:18px 9px}.result-stat strong{font-size:24px}.key-hint{display:none}.match-title{font-size:24px}}
@media(max-width:390px){.hero-art{display:none}.hero{grid-template-columns:1fr}.hero h1{font-size:32px}.lesson-grid{grid-template-columns:1fr}.answers{grid-template-columns:1fr}.match-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.streak-pill{padding:7px 9px;font-size:10px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
