*{box-sizing:border-box;margin:0;padding:0}:root{--bg:#09090b;--surface:#111114;--surface-2:#18181b;--border:#27272a;--border-hover:#3f3f46;--accent:#c4a44a;--accent-dim:#c4a44a1f;--accent-glow:#c4a44a40;--red:#991b1b;--red-light:#f87171;--green:#16a34a;--green-light:#4ade80;--text:#f0f0f0;--text-secondary:#c0c0c8;--text-muted:#9898a2;--radius:10px}html{font-size:18px}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;min-height:100vh;font-family:Inter,-apple-system,sans-serif;line-height:1.6}.hero{align-items:flex-end;height:380px;display:flex;position:relative;overflow:hidden}.hero-img{object-fit:cover;filter:brightness(.35);width:100%;height:100%;position:absolute;inset:0}.hero-overlay{background:linear-gradient(to top, var(--bg) 0%, transparent 60%);position:absolute;inset:0}.hero-content{z-index:1;width:100%;max-width:900px;margin:0 auto;padding:0 24px 40px;position:relative}.hero-badge{letter-spacing:.08em;text-transform:uppercase;color:var(--accent);background:var(--accent-dim);border:1px solid #c4a44a33;border-radius:20px;align-items:center;gap:6px;margin-bottom:16px;padding:5px 14px;font-size:.72rem;font-weight:600;display:inline-flex}.hero-title{margin-bottom:10px;font-family:Noto Serif JP,serif;font-size:clamp(2rem,5vw,3rem);font-weight:900;line-height:1.15}.hero-title .kanji{color:var(--accent);letter-spacing:.15em;margin-bottom:6px;font-size:.45em;display:block}.hero-sub{color:var(--text-secondary);max-width:560px;font-size:1rem;line-height:1.7}.hero-cta{background:var(--accent);color:var(--bg);border-radius:8px;align-items:center;gap:8px;margin-top:20px;padding:12px 28px;font-size:.89rem;font-weight:600;text-decoration:none;transition:all .2s;display:inline-flex}.hero-cta:hover{filter:brightness(1.1);transform:translateY(-1px)}.stats-bar{background:var(--surface);border-bottom:1px solid var(--border)}.stats-inner{flex-wrap:wrap;justify-content:center;gap:32px;max-width:900px;margin:0 auto;padding:24px;display:flex}.stat{flex-direction:column;align-items:center;gap:4px;display:flex}.stat-number{color:var(--accent);font-family:Noto Serif JP,serif;font-size:1.5rem;font-weight:700}.stat-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;font-size:.72rem}.stat-divider{background:var(--border);align-self:center;width:1px;height:40px}.intro-section{border-bottom:1px solid var(--border);margin-bottom:40px;padding:48px 0 40px}.intro-text h2{margin-bottom:20px;font-family:Noto Serif JP,serif;font-size:1.4rem;font-weight:600;line-height:1.4}.intro-text p{color:var(--text-secondary);margin-bottom:14px;font-size:1rem;line-height:1.8}.intro-text p:last-child{margin-bottom:0}.intro-text strong{color:var(--text);font-weight:600}.how-section{border-bottom:1px solid var(--border);margin-bottom:40px;padding-bottom:40px}.how-grid{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}.how-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:24px}.how-number{color:var(--accent);opacity:.4;margin-bottom:12px;font-family:Noto Serif JP,serif;font-size:1.8rem;font-weight:900}.how-card h3{margin-bottom:8px;font-size:.94rem;font-weight:600}.how-card p{color:var(--text-secondary);font-size:.89rem;line-height:1.7}.sensei-section{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);align-items:flex-start;gap:24px;margin-bottom:40px;padding:32px;display:flex}.sensei-section-img{object-fit:cover;border:2px solid var(--border);border-radius:50%;flex-shrink:0;width:72px;height:72px}.sensei-section-badge{text-transform:uppercase;letter-spacing:.06em;color:var(--accent);margin-bottom:4px;font-size:.72rem;font-weight:600}.sensei-section-body h3{margin-bottom:8px;font-size:1.1rem;font-weight:700}.sensei-section-body p{color:var(--text-secondary);font-size:.94rem;line-height:1.7}.sensei-quote{background:var(--bg);border:1px solid var(--border);border-radius:8px;margin-top:16px;padding:16px 20px;position:relative}.sensei-quote svg{width:16px;height:16px;color:var(--accent);opacity:.4;margin-bottom:6px}.sensei-quote em{color:var(--text-secondary);font-size:.94rem;font-style:italic;line-height:1.7;display:block}.sensei-quote span{color:var(--text-muted);margin-top:8px;font-size:.78rem;display:block}.levels-section{border-bottom:1px solid var(--border);margin-bottom:40px;padding-bottom:40px}.levels-grid{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}.level-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:24px}.level-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.level-tag{color:var(--accent);background:var(--accent-dim);border-radius:6px;padding:4px 12px;font-size:.78rem;font-weight:600}.level-kanji{color:var(--text-muted);opacity:.5;font-family:Noto Serif JP,serif;font-size:1.2rem}.level-card p{color:var(--text-secondary);margin-bottom:14px;font-size:.89rem;line-height:1.7}.level-modules{color:var(--text-muted);border-top:1px solid var(--border);padding-top:12px;font-size:.78rem}.container{max-width:900px;margin:0 auto;padding:0 24px}.rank-section{border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:32px;padding:20px 0 32px;display:flex}.rank-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;font-size:.72rem;font-weight:600}.rank-steps{align-items:center;gap:4px;display:flex}.rank-step{background:var(--surface);color:var(--text-muted);border:1px solid var(--border);border-radius:6px;padding:5px 14px;font-size:.78rem;font-weight:500;transition:all .3s}.rank-step.active{background:var(--accent-dim);color:var(--accent);border-color:#c4a44a4d}.rank-step.completed{color:var(--green-light);background:#16a34a1a;border-color:#16a34a40}.rank-connector{background:var(--border);width:16px;height:1px}.exam-info{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);align-items:flex-start;gap:20px;margin-bottom:32px;padding:24px 28px;display:flex}.exam-info-icon{background:var(--accent-dim);border:1px solid #c4a44a33;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;display:flex}.exam-info-icon svg{width:22px;height:22px;color:var(--accent)}.exam-info-body h3{margin-bottom:6px;font-size:.94rem;font-weight:600}.exam-info-body p{color:var(--text-secondary);font-size:.89rem;line-height:1.7}.exam-info-body .exam-details{flex-wrap:wrap;gap:20px;margin-top:12px;display:flex}.exam-detail{color:var(--text-muted);align-items:center;gap:6px;font-size:.78rem;display:flex}.exam-detail svg{width:14px;height:14px;color:var(--text-muted)}.exam-detail strong{color:var(--text-secondary);font-weight:600}.section-header{margin-bottom:20px}.section-header h2{font-size:1.15rem;font-weight:600}.section-header p{color:var(--text-muted);margin-top:4px;font-size:.89rem}.course-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;padding-bottom:60px;display:grid}.course-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;transition:all .25s;overflow:hidden}.course-card:hover{border-color:var(--border-hover);transform:translateY(-2px);box-shadow:0 12px 32px #0006}.course-card-img{object-fit:cover;width:100%;height:160px;display:block}.course-card-body{padding:18px}.course-card-body h3{margin-bottom:6px;font-size:1rem;font-weight:600}.course-card-body p{color:var(--text-secondary);font-size:.89rem;line-height:1.6}.course-card-meta{border-top:1px solid var(--border);justify-content:space-between;align-items:center;margin-top:14px;padding-top:12px;display:flex}.course-card-meta .lessons-count{color:var(--text-muted);font-size:.78rem}.course-card-meta .status{border-radius:12px;padding:3px 10px;font-size:.78rem;font-weight:600}.status-pending{background:var(--accent-dim);color:var(--accent)}.status-done{color:var(--green-light);background:#16a34a1a}.status-locked{color:var(--text-muted);background:#8c8c961a}.course-card-locked{cursor:not-allowed;position:relative}.course-card-locked:hover{box-shadow:none;border-color:var(--border);transform:none}.course-card-locked .course-card-img{filter:grayscale()brightness(.4)}.course-card-locked .course-card-body{opacity:.45}.lock-overlay{z-index:2;border-radius:var(--radius);background:#09090b99;flex-direction:column;justify-content:center;align-items:center;gap:8px;display:flex;position:absolute;inset:0}.lock-overlay svg{width:28px;height:28px;color:var(--text-muted)}.lock-overlay span{color:var(--text-muted);font-size:.83rem;font-weight:500}.lesson-view{display:none}.lesson-view.active{padding-bottom:60px;display:block}.course-list.hidden{display:none}.back-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;align-items:center;gap:6px;padding:20px 0 24px;font-family:inherit;font-size:.83rem;transition:color .2s;display:inline-flex}.back-btn:hover{color:var(--text)}.back-btn svg{width:16px;height:16px}.progress-bar-container{gap:6px;margin-bottom:28px;display:flex}.progress-bar-step{background:var(--border);border-radius:2px;flex:1;height:3px;transition:background .3s}.progress-bar-step.done{background:var(--green-light)}.progress-bar-step.current{background:var(--accent)}.lesson-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:16px;padding:32px}.lesson-counter{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:12px;font-size:.72rem;font-weight:600}.lesson-card h2{margin-bottom:20px;font-size:1.33rem;font-weight:700;line-height:1.35}.lesson-card .theory{color:var(--text-secondary);font-size:1rem;line-height:1.85}.lesson-card .theory strong{color:var(--text);font-weight:600}.note-box{background:var(--accent-dim);border-left:3px solid var(--accent);border-radius:0 var(--radius) var(--radius) 0;color:var(--text-secondary);margin-top:20px;padding:16px 20px;font-size:.89rem;line-height:1.7}.note-box strong{color:var(--accent);font-weight:600}.exam-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:32px}.exam-header{align-items:center;gap:10px;margin-bottom:6px;display:flex}.exam-header svg{width:20px;height:20px;color:var(--accent)}.exam-header h3{text-transform:uppercase;letter-spacing:.05em;color:var(--accent);font-size:.78rem;font-weight:600}.exam-question{margin:12px 0 20px;font-size:1.05rem;font-weight:500;line-height:1.5}.options-list{gap:8px;display:grid}.option-btn{background:var(--surface-2);border:1px solid var(--border);color:var(--text);cursor:pointer;text-align:left;border-radius:8px;align-items:center;gap:12px;padding:14px 18px;font-family:inherit;font-size:.94rem;transition:all .15s;display:flex}.option-letter{background:var(--bg);border:1px solid var(--border);width:28px;height:28px;color:var(--text-muted);border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;font-size:.78rem;font-weight:600;display:flex}.option-btn:hover:not(:disabled){border-color:var(--border-hover);background:#1f1f23}.option-btn.correct{border-color:var(--green);background:#16a34a14}.option-btn.correct .option-letter{background:var(--green);border-color:var(--green);color:#09090b}.option-btn.wrong{border-color:var(--red-light);color:var(--red-light);background:#f8717114}.option-btn.wrong .option-letter{background:var(--red-light);border-color:var(--red-light);color:#09090b}.option-btn:disabled{cursor:default;opacity:.85}.sensei-box{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius);margin-top:24px;padding:20px 24px;display:none}.sensei-box.visible{animation:.35s slideUp;display:block}.sensei-label{align-items:center;gap:10px;margin-bottom:10px;display:flex}.sensei-avatar{object-fit:cover;border-radius:50%;width:32px;height:32px}.sensei-name{color:var(--text);font-size:.83rem;font-weight:600}.sensei-role{color:var(--text-muted);font-size:.78rem}.sensei-text{color:var(--text-secondary);font-size:.94rem;line-height:1.8}.next-btn{background:var(--accent);color:var(--bg);cursor:pointer;border:none;border-radius:8px;margin-top:20px;padding:11px 24px;font-family:inherit;font-size:.89rem;font-weight:600;transition:all .2s;display:none}.next-btn.visible{align-items:center;gap:6px;display:inline-flex}.next-btn:hover{filter:brightness(1.1)}.next-btn svg{width:16px;height:16px}.score-bar{color:var(--text-muted);align-items:center;gap:8px;margin-top:16px;font-size:.83rem;display:flex}.score-bar span{color:var(--text);font-weight:600}.certificate{padding-bottom:60px;display:none}.certificate.active{display:block}.cert-card{background:var(--surface);border:1px solid var(--border);border-radius:16px;max-width:560px;margin:40px auto 0;overflow:hidden}.cert-top{text-align:center;background:linear-gradient(135deg,#1a1708,#12100a);border-bottom:1px solid #c4a44a33;padding:40px 32px 32px}.cert-seal{background:var(--accent-dim);border:2px solid var(--accent);border-radius:50%;justify-content:center;align-items:center;width:72px;height:72px;margin:0 auto 16px;display:flex}.cert-seal svg{width:36px;height:36px;color:var(--accent)}.cert-top h2{color:var(--accent);margin-bottom:4px;font-family:Noto Serif JP,serif;font-size:1.5rem}.cert-top .cert-subtitle{color:var(--text-muted);font-size:.83rem}.cert-body{padding:28px 32px}.cert-row{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:10px 0;font-size:.89rem;display:flex}.cert-row:last-child{border-bottom:none}.cert-row .label{color:var(--text-muted)}.cert-row .value{font-weight:600}.cert-row .value.gold{color:var(--accent)}.cert-row .value.green{color:var(--green-light)}.cert-row .value.red{color:var(--red-light)}.cert-message{background:var(--surface-2);color:var(--text-secondary);border-radius:8px;margin-top:20px;padding:16px 20px;font-size:.89rem;line-height:1.7}.cert-actions{gap:10px;margin-top:20px;display:flex}.cert-actions button{cursor:pointer;border-radius:8px;flex:1;padding:11px;font-family:inherit;font-size:.89rem;font-weight:600;transition:all .2s}.btn-primary{background:var(--accent);color:var(--bg);border:none}.btn-primary:hover{filter:brightness(1.1)}.btn-ghost{border:1px solid var(--border);color:var(--text-secondary);background:0 0}.btn-ghost:hover{border-color:var(--text-muted);color:var(--text)}footer{text-align:center;color:var(--text-muted);border-top:1px solid var(--border);padding:32px 24px;font-size:.83rem;line-height:1.7}footer a{color:var(--text-muted);text-decoration:underline;-webkit-text-decoration-color:var(--border);text-decoration-color:var(--border)}@keyframes slideUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media (width<=768px){.how-grid,.levels-grid{grid-template-columns:1fr}.sensei-section{text-align:center;flex-direction:column;align-items:center}.sensei-quote{text-align:left}.stats-inner{gap:20px}.stat-divider{display:none}}@media (width<=600px){html{font-size:16px}.hero{height:300px}.hero-content{padding-bottom:28px}.lesson-card,.exam-card{padding:20px}.cert-top,.cert-body{padding-left:20px;padding-right:20px}.rank-steps{gap:2px}.rank-connector{width:8px}.exam-info{flex-direction:column;gap:14px}.sensei-section{padding:20px}.intro-text h2{font-size:1.2rem}}
