body{background:linear-gradient(180deg,#F4F9FF 0%,#fff 36%,#F8FBFF 100%)}
svg{width:20px;height:20px;stroke:currentColor;stroke-width:2;fill:none}.lesson-header{position:sticky;top:0;z-index:80;background:rgba(255,255,255,.92);backdrop-filter:blur(14px);border-bottom:1px solid var(--shinha-border)}.lesson-header-inner{height:78px;display:flex;align-items:center;justify-content:space-between;gap:20px}.lesson-brand{display:flex;align-items:center;gap:10px;color:var(--shinha-navy)}.lesson-brand img{width:54px;height:54px;object-fit:contain}.lesson-brand strong{display:block;font-size:24px;font-weight:1000;color:#10B96F;line-height:1}.lesson-brand em{display:block;margin-top:3px;font-style:normal;font-size:12px;font-weight:850;color:var(--shinha-muted)}.lesson-nav{display:flex;align-items:center;gap:8px}.lesson-nav a{display:flex;align-items:center;gap:8px;min-height:42px;padding:10px 13px;border-radius:13px;color:#465574;font-weight:850;font-size:14px}.lesson-nav a:hover,.lesson-nav a.active{background:#EEF7FF;color:var(--shinha-blue)}.lesson-user{display:flex;align-items:center;gap:14px}.streak{display:flex;align-items:center;gap:7px;color:var(--shinha-navy);font-weight:900}.streak svg{fill:#FF6938;stroke:#FF6938}.avatar-btn{display:flex;align-items:center;gap:9px;border:0;background:transparent;color:var(--shinha-navy);font-weight:950}.avatar-btn span{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:linear-gradient(135deg,#EAF6FF,#fff);border:1px solid var(--shinha-border);color:var(--shinha-blue);font-weight:1000}.avatar-btn i{font-style:normal}.lesson-menu-btn{display:none;border:0;background:#EEF7FF;color:var(--shinha-navy);width:42px;height:42px;border-radius:13px;font-size:22px;font-weight:900}.lesson-mobile-menu{display:none}
.lesson-shell{display:grid;grid-template-columns:252px 1fr;min-height:calc(100vh - 78px)}.lesson-sidebar{position:sticky;top:78px;height:calc(100vh - 78px);padding:24px 20px;border-right:1px solid var(--shinha-border);background:rgba(255,255,255,.86);overflow:auto}.side-link{display:flex;align-items:center;gap:12px;min-height:48px;margin-bottom:8px;padding:12px 14px;border-radius:15px;color:#52607C;font-weight:900}.side-link b{display:grid;place-items:center;width:30px;height:30px;border-radius:11px;background:var(--green);color:#fff}.side-link:hover,.side-link.active{background:#EAF8F1;color:var(--green)}.side-link.active svg{stroke:var(--green)}.mascot-card{margin-top:26px;padding:18px;border:1px solid #CDEEDC;border-radius:22px;background:linear-gradient(180deg,#F1FFF8,#fff);text-align:center}.mascot-card img{width:130px;height:130px;object-fit:contain;margin:0 auto}.mascot-card strong{display:block;color:var(--shinha-navy);font-size:17px;font-weight:1000}.mascot-card p{margin:8px 0 0;color:#5F6E8B;font-weight:750;line-height:1.45;font-size:13px}
.lesson-main{padding:28px;min-width:0}.breadcrumb{display:flex;align-items:center;gap:9px;margin-bottom:16px;color:#64718D;font-weight:850}.breadcrumb a{color:#36517B}.breadcrumb b{color:var(--green)}.lesson-hero{position:relative;display:grid;grid-template-columns:1fr 210px;align-items:center;gap:20px;min-height:230px;margin-bottom:24px;padding:28px 34px;border:1px solid var(--shinha-border);border-radius:30px;overflow:hidden;background:radial-gradient(circle at 78% 15%,rgba(7,95,245,.12),transparent 32%),linear-gradient(135deg,#fff,#EEF8FF)}.lesson-hero:after{content:"";position:absolute;right:0;bottom:0;width:58%;height:86%;background:url('../assets/images/hero-home-japan.webp') center/cover no-repeat;opacity:.28;mask-image:linear-gradient(90deg,transparent,#000 32%)}.lesson-hero>div,.hero-mascot{position:relative;z-index:1}.lesson-badge{display:inline-flex;align-items:center;min-height:30px;padding:6px 12px;border-radius:999px;background:#EAF8F1;color:var(--green);font-size:12px;font-weight:1000;letter-spacing:.04em}.lesson-hero h1{margin:12px 0 8px;color:var(--shinha-navy);font-size:42px;line-height:1.08;font-weight:1000}.lesson-hero p{margin:0;max-width:680px;color:#425173;font-size:16px;font-weight:750;line-height:1.6}.lesson-meta{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}.lesson-meta span{display:inline-flex;align-items:center;gap:7px;min-height:36px;padding:8px 12px;border:1px solid var(--shinha-border);border-radius:999px;background:rgba(255,255,255,.82);color:var(--shinha-navy);font-weight:900}.lesson-meta svg{width:17px;height:17px;color:var(--green)}.hero-mascot{justify-self:end;width:190px;height:190px;object-fit:contain}
.lesson-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:24px;align-items:start}.lesson-content,.panel{background:#fff;border:1px solid var(--shinha-border);border-radius:24px;box-shadow:var(--shadow-soft)}.lesson-content{overflow:hidden}.lesson-tabs{display:flex;gap:8px;padding:14px;border-bottom:1px solid var(--shinha-border);background:#F8FBFF}.tab{border:0;border-radius:14px;min-height:44px;padding:10px 18px;background:transparent;color:#5D6A87;font-weight:950}.tab.active{background:#fff;color:var(--shinha-blue);box-shadow:0 8px 20px rgba(7,29,94,.08)}.tab-panel{display:none;padding:22px}.tab-panel.active{display:block}.toolbar-card{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:18px}.tool-btn{display:inline-flex;align-items:center;gap:8px;min-height:42px;padding:10px 13px;border:1px solid var(--shinha-border);border-radius:13px;background:#fff;color:var(--shinha-navy);font-weight:900}.tool-btn:hover{background:#EEF7FF;color:var(--shinha-blue)}.vocab-list{display:grid;gap:12px}.vocab-card{display:grid;grid-template-columns:76px 1fr auto;gap:16px;align-items:center;padding:16px;border:1px solid #E4ECF8;border-radius:20px;background:#fff;transition:.18s}.vocab-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-soft)}.vocab-no{display:grid;place-items:center;width:58px;height:58px;border-radius:18px;background:#EAF8F1;color:var(--green);font-size:18px;font-weight:1000}.jp-word{font-family:var(--font-jp);font-size:30px;font-weight:1000;color:var(--shinha-navy)}.reading{display:block;margin-top:2px;font-family:var(--font-jp);color:var(--shinha-blue);font-weight:850}.meaning{margin-top:8px;color:#344361;font-weight:800}.example{margin-top:8px;padding:10px 12px;border-radius:14px;background:#F7FAFF;color:#59677F;font-weight:750;line-height:1.5}.vocab-actions{display:flex;gap:8px}.round-btn{display:grid;place-items:center;width:42px;height:42px;border:1px solid var(--shinha-border);border-radius:14px;background:#fff;color:var(--shinha-blue)}.round-btn:hover,.round-btn.active{background:#EAF8F1;color:var(--green);border-color:#BFEBD3}.hide-meaning .meaning,.hide-meaning .example{filter:blur(6px);user-select:none}.hide-furigana .reading{display:none}
.practice-card,.quiz-card,.note-card{padding:20px;border:1px solid #E4ECF8;border-radius:22px;background:linear-gradient(135deg,#fff,#F8FCFF)}.flashcard{display:grid;place-items:center;min-height:280px;border:1px dashed #BBD2FF;border-radius:24px;background:#fff;text-align:center}.flashcard small{color:var(--green);font-weight:1000;text-transform:uppercase;letter-spacing:.08em}.flashcard strong{font-family:var(--font-jp);font-size:74px;color:var(--shinha-navy);line-height:1.1}.flashcard em{font-family:var(--font-jp);font-style:normal;color:var(--shinha-blue);font-weight:900}.flashcard p{margin:8px 0 0;color:#40506E;font-size:22px;font-weight:900}.practice-actions{display:flex;justify-content:center;gap:12px;margin-top:18px}.quiz-card h2,.note-card h2{margin:0 0 10px;color:var(--shinha-navy);font-weight:1000}.quiz-card p{font-family:var(--font-jp);font-size:26px;color:var(--shinha-navy);font-weight:950}.quiz-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.quiz-option{min-height:54px;border:1px solid var(--shinha-border);border-radius:15px;background:#fff;color:var(--shinha-navy);font-weight:950}.quiz-option:hover{background:#EEF7FF}.quiz-option.correct{background:#EAF8F1;color:var(--green);border-color:#BFEBD3}.quiz-option.wrong{background:#FFF0F2;color:var(--red);border-color:#FFD1D8}.quiz-result{margin-top:14px;padding:13px;border-radius:14px;background:#F8FBFF;color:var(--shinha-navy);font-weight:900}.note-card textarea{width:100%;min-height:220px;padding:16px;border:1px solid var(--shinha-border);border-radius:18px;resize:vertical;font-family:inherit;color:var(--shinha-navy);font-weight:750;line-height:1.6}.note-card button{margin-top:14px}
.lesson-aside{position:sticky;top:100px;display:grid;gap:18px}.panel{padding:22px}.panel h2{margin:0 0 16px;color:var(--shinha-navy);font-size:20px;font-weight:1000}.progress-ring{--p:35;display:grid;place-items:center;width:160px;height:160px;margin:0 auto 18px;border-radius:50%;background:conic-gradient(var(--green) calc(var(--p)*1%),#EDF2F8 0);position:relative}.progress-ring:before{content:"";position:absolute;inset:14px;border-radius:50%;background:#fff}.progress-ring span,.progress-ring em{position:relative;z-index:1}.progress-ring span{font-size:34px;font-weight:1000;color:var(--green)}.progress-ring em{font-style:normal;font-weight:850;color:#63708D;font-size:12px;align-self:start;margin-top:-43px}.mini-stats{display:grid;gap:10px}.mini-stats div{display:flex;justify-content:space-between;gap:10px;padding-bottom:10px;border-bottom:1px solid #EEF2F8}.mini-stats div:last-child{border-bottom:0}.mini-stats span{color:#63708D;font-weight:800}.mini-stats b{color:var(--shinha-navy);font-weight:1000}.nav-card{display:flex;align-items:center;gap:12px;margin-bottom:10px;padding:14px;border:1px solid var(--shinha-border);border-radius:17px;background:#F9FCFF}.nav-card:hover{background:#EEF7FF}.nav-card>span{display:grid;place-items:center;width:40px;height:40px;border-radius:14px;background:#EAF8F1;color:var(--green);font-weight:1000}.nav-card b{display:block;color:var(--shinha-navy);font-weight:1000}.nav-card small{display:block;margin-top:3px;color:#63708D;font-weight:750}.tip-panel{position:relative;overflow:hidden;background:linear-gradient(135deg,#fff,#F0FFF8)}.tip-panel p{margin:0;color:#5B6988;font-weight:750;line-height:1.55}.tip-panel img{width:110px;height:110px;object-fit:contain;margin:10px 0 -10px auto}
@media(max-width:1180px){.lesson-nav{display:none}.lesson-menu-btn{display:block}.lesson-mobile-menu{position:fixed;left:16px;right:16px;top:84px;z-index:90;display:grid;gap:8px;padding:14px;background:#fff;border:1px solid var(--shinha-border);border-radius:22px;box-shadow:var(--shadow-popup)}.lesson-mobile-menu[hidden]{display:none}.lesson-mobile-menu a{padding:13px;border-radius:14px;background:#F8FBFF;color:var(--shinha-navy);font-weight:900}.lesson-shell{grid-template-columns:1fr}.lesson-sidebar{position:sticky;top:78px;z-index:70;height:auto;display:flex;gap:12px;overflow:auto;padding:14px 18px;border-right:0;border-bottom:1px solid var(--shinha-border);background:rgba(255,255,255,.92)}.side-link{min-width:96px;justify-content:center;margin:0}.side-link span{display:none}.mascot-card{display:none}.lesson-layout{grid-template-columns:1fr}.lesson-aside{position:static;grid-template-columns:repeat(3,minmax(0,1fr))}.tip-panel img{display:none}}
@media(max-width:900px){.lesson-main{padding:20px}.lesson-hero{grid-template-columns:1fr;padding:24px}.lesson-hero h1{font-size:36px}.hero-mascot{justify-self:center;width:150px;height:150px}.lesson-aside{grid-template-columns:1fr}.vocab-card{grid-template-columns:58px 1fr}.vocab-actions{grid-column:2/-1}.quiz-options{grid-template-columns:1fr}}
@media(max-width:680px){.lesson-header-inner{height:68px}.lesson-brand img{width:44px;height:44px}.lesson-brand strong{font-size:20px}.lesson-brand em{font-size:11px}.streak,.avatar-btn i{display:none}.avatar-btn span{width:38px;height:38px}.lesson-sidebar{top:68px;padding:12px 14px}.lesson-main{padding:16px}.breadcrumb{overflow:auto;white-space:nowrap;font-size:12px}.lesson-hero{border-radius:24px}.lesson-hero h1{font-size:31px}.lesson-meta span{font-size:12px}.lesson-tabs{overflow:auto}.tab{min-width:max-content}.tab-panel{padding:16px}.toolbar-card{display:grid;grid-template-columns:1fr 1fr}.tool-btn{justify-content:center;font-size:12px}.vocab-card{padding:14px;grid-template-columns:48px 1fr}.vocab-no{width:46px;height:46px;border-radius:15px}.jp-word{font-size:25px}.flashcard strong{font-size:58px}.practice-actions{flex-direction:column}.practice-actions .sh-btn{width:100%}}
