:root{--bg:#fff;--fg:#222;--muted:#777;--line:#ddd;--fill:#f3f3f3;--accent:#ff8a26;--accent-tint:#fff2e6}*{box-sizing:border-box}body{background:var(--bg);color:var(--fg);font-family:var(--font-inter), var(--font-noto-sans-jp), sans-serif;margin:0;font-size:15px;line-height:1.7}a{color:inherit}h1,h2,h3{margin:0 0 12px;line-height:1.4}h1{font-size:26px}h2{font-size:20px}h3{font-size:16px}.container{max-width:1240px;margin:0 auto;padding:0 16px}.muted{color:var(--muted);font-size:13px}.section{border-bottom:1px solid var(--line);padding:40px 0}.section-head{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.site-header{border-bottom:1px solid var(--line)}.header-inner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;min-height:60px;display:flex}.logo{align-items:center;line-height:0;display:flex}.logo img{width:auto;height:48px;display:block}.global-nav{flex-wrap:wrap;align-items:center;gap:16px;font-size:14px;display:flex}.global-nav a{text-decoration:none}.nav-text-btn{font:inherit;color:inherit;cursor:pointer;background:0 0;border:none;padding:0}.site-footer{background:var(--fill);padding:32px 0}.site-header-minimal{background:0 0;border-bottom:none}.header-inner-minimal{justify-content:space-between;min-height:44px;padding:18px 48px}.header-lesson-id{flex:1;align-items:center;gap:10px;min-width:0;display:flex}.logo-lg img{height:40px}.lesson-crumb-wrap{flex:1;min-width:0}.lesson-crumb{background:var(--fill);max-width:100%;font:inherit;cursor:pointer;color:var(--fg);border:none;border-radius:10px;align-items:center;gap:8px;padding:6px 12px;display:flex}.lesson-crumb:hover{background:var(--line)}.lesson-crumb-text{white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:600;overflow:hidden}.lesson-crumb-caret{color:var(--fg);flex:none;font-size:9px}.chapter-modal-backdrop{z-index:50;background:#0006;justify-content:center;align-items:flex-start;padding:72px 16px 24px;display:flex;position:fixed;inset:0}.chapter-modal{background:var(--bg);border-radius:12px;width:100%;max-width:480px;max-height:72vh;overflow-y:auto;box-shadow:0 10px 40px #0003}.chapter-modal-head{border-bottom:1px solid var(--line);background:var(--bg);align-items:center;gap:10px;padding:14px 18px;display:flex;position:sticky;top:0}.chapter-modal-head strong{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:15px;overflow:hidden}.chapter-modal-link{color:var(--accent);flex:none;font-size:12px;text-decoration:none}.chapter-modal-close{cursor:pointer;color:var(--muted);background:0 0;border:none;flex:none;font-size:16px;line-height:1}.chapter-modal-list{margin:0;padding:8px;list-style:none}.chapter-modal-item a,.chapter-modal-item span{color:var(--fg);border-radius:8px;align-items:center;gap:6px;padding:10px 12px;font-size:13px;text-decoration:none;display:flex}.chapter-modal-item a:hover{background:var(--fill)}.chapter-modal-item.is-current a{background:var(--accent-tint);color:var(--accent);font-weight:700}.chapter-modal-item.is-locked span{color:var(--muted)}.hamburger-wrap{flex:none;position:relative}.hamburger-btn{background:var(--accent);cursor:pointer;border:none;border-radius:999px;justify-content:center;align-items:center;width:40px;height:40px;display:flex}.hamburger-backdrop{z-index:40;position:fixed;inset:0}.hamburger-menu{background:var(--bg);border:1px solid var(--line);z-index:41;border-radius:10px;flex-direction:column;min-width:180px;margin-top:6px;padding:6px;display:flex;position:absolute;top:100%;right:0;box-shadow:0 8px 24px #0000001f}.hamburger-menu a{color:var(--fg);border-radius:6px;padding:10px 12px;font-size:13px;text-decoration:none}.hamburger-menu a:hover{background:var(--fill)}@media (max-width:640px){.header-inner-minimal{padding:14px 16px}.logo-lg img{height:28px}.lesson-crumb-text{font-size:12px}}.footer-inner nav{flex-wrap:wrap;gap:16px;margin-bottom:8px;font-size:14px;display:flex}.btn{border:1px solid var(--fg);background:var(--fg);color:#fff;cursor:pointer;border-radius:4px;padding:10px 18px;font-size:14px;text-decoration:none;display:inline-block}.btn-cta{background:#e8650a;border-color:#e8650a}.btn-cta:hover{background:#d65c08;border-color:#d65c08}.btn-outline{color:var(--fg);background:0 0;padding:6px 12px}.tag{border:1px solid var(--line);background:var(--fill);border-radius:999px;padding:2px 8px;font-size:12px;text-decoration:none;display:inline-block}.tags{flex-wrap:wrap;gap:6px;display:flex}.pr{border:1px solid var(--fg);margin-right:6px;padding:0 4px;font-size:11px}.note-mark{margin-left:2px;font-size:12px}.placeholder{border:1px dashed var(--muted);background:var(--fill);color:var(--muted);text-align:center;padding:24px;font-size:13px}.hero{color:#fff;text-align:center;background:#555;justify-content:center;align-items:center;min-height:min(78vh,680px);padding:64px 16px;display:flex}.hero-inner{width:100%;max-width:720px}.hero-lead{margin:0 0 16px;font-weight:700}.hero-logo{border:2px dashed #fff9;max-width:360px;margin:0 auto 32px;padding:48px 16px;font-size:28px;font-weight:700}.hero-tabs{border:2px solid #fff;border-radius:8px;grid-template-columns:repeat(3,1fr);margin-bottom:16px;display:grid;overflow:hidden}.hero-tabs button{color:#fff;cursor:pointer;background:0 0;border:0;padding:10px 4px;font-size:14px;font-weight:700}.hero-tabs button+button{border-left:1px solid #fff}.hero-tabs button.active{color:var(--fg);background:#fff}.hero-input{border-radius:8px;display:flex;overflow:hidden}.hero-input input{border:0;flex:1;min-width:0;padding:18px 16px;font-size:16px}.hero-input button{color:#fff;cursor:pointer;background:#222;border:0;padding:0 32px;font-size:16px;font-weight:700}.hero-chips{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.hero-chips a{color:var(--fg);background:#fff;border-radius:999px;padding:10px 16px;font-size:14px;font-weight:700;text-decoration:none}.section-tinted{background:var(--fill)}.section-title{font-size:28px}.section-head{flex-wrap:wrap}html,body{overflow-x:clip}.menu-button{display:none}@media (max-width:760px){.global-nav{display:none}.menu-button{display:inline-block}.section-title{font-size:22px}.hero-tabs button{font-size:12px}.hero-input button{padding:0 18px}}.carousel{margin-top:16px;position:relative}.carousel-arrows{justify-content:flex-end;gap:8px;margin-bottom:12px;display:flex}.carousel-arrows button{border:2px solid var(--fg);background:var(--bg);cursor:pointer;border-radius:50%;width:44px;height:44px;font-size:18px}.carousel-track{scroll-snap-type:x mandatory;grid-auto-columns:minmax(260px,300px);grid-auto-flow:column;gap:16px;padding-bottom:8px;display:grid;overflow-x:auto}.spot-card{scroll-snap-align:start;background:var(--bg);border:1px solid var(--line);border-radius:10px;flex-direction:column;display:flex;overflow:hidden}.spot-image{aspect-ratio:16/9;background:var(--fill);border-bottom:1px solid var(--line);color:var(--muted);justify-content:center;align-items:center;font-size:13px;display:flex}.spot-body{flex:1;gap:8px;padding:16px;display:grid}.spot-numbers{grid-template-columns:1fr 1fr;gap:8px 12px;margin:4px 0;display:grid}.spot-numbers dt{color:var(--muted);font-size:12px}.spot-numbers dd{margin:0;font-weight:700}.btn-block{text-align:center;align-self:end;display:block}.tile-large{justify-content:space-between;align-items:baseline;padding:28px 24px;display:flex}.tile-large strong{font-size:20px}.grid{gap:12px;display:grid}.grid-3{grid-template-columns:repeat(3,1fr)}@media (max-width:760px){.grid-3{grid-template-columns:1fr}}.grid-4{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.tile{border:1px solid var(--line);border-radius:6px;padding:16px;text-decoration:none;display:block}.tile strong{display:block}.stats{flex-wrap:wrap;gap:32px;display:flex}.stats strong{font-size:28px;display:block}.list-layout{grid-template-columns:260px 1fr;gap:24px;padding:24px 0 48px;display:grid}@media (max-width:760px){.list-layout{grid-template-columns:1fr}}.filters{border:1px solid var(--line);border-radius:6px;align-self:start;padding:16px}.filters fieldset{border:0;margin:0 0 16px;padding:0}.filters legend{margin-bottom:4px;font-size:14px;font-weight:700}.filters label{font-size:14px;display:block}.filters select{width:100%;padding:6px}.list-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.card{border:1px solid var(--line);border-radius:6px;gap:8px;padding:16px;display:grid}.card-title{font-size:17px;font-weight:700;text-decoration:none}.card-numbers{background:var(--fill);border-radius:4px;grid-template-columns:repeat(3,1fr);gap:8px;margin:0;padding:8px;display:grid}.card-numbers dt{color:var(--muted);font-size:12px}.card-numbers dd{margin:0;font-size:14px;font-weight:700}.card-actions{gap:8px;font-size:13px;display:flex}.pager{justify-content:center;gap:8px;margin-top:24px;display:flex}.brand-head{border-bottom:1px solid var(--line);padding:32px 0 24px}.key-numbers{background:var(--line);border:1px solid var(--line);grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:1px;margin:16px 0;display:grid}.key-numbers div{background:var(--bg);padding:12px}.key-numbers dt{color:var(--muted);font-size:12px}.key-numbers dd{margin:0;font-size:20px;font-weight:700}.cta-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.terms-table{border-collapse:collapse;width:100%}.terms-table th,.terms-table td{border-bottom:1px solid var(--line);text-align:left;vertical-align:top;padding:12px 8px}.terms-table th{background:var(--fill);width:140px;font-weight:700}.terms-table .value{font-weight:700}.terms-table .note{margin-top:4px;font-size:13px}.terms-table details{color:var(--muted);margin-top:4px;font-size:13px}.source-box{background:var(--fill);border-radius:6px;padding:16px;font-size:14px}.notice{border:1px solid var(--line);background:var(--fill);padding:16px;font-size:14px}.column-card{border:1px solid var(--line);background:var(--bg);border-radius:10px;flex-direction:column;text-decoration:none;display:flex;overflow:hidden}.column-thumb{aspect-ratio:16/9;background:var(--fill);border-bottom:1px solid var(--line);color:var(--muted);justify-content:center;align-items:center;font-size:13px;display:flex;position:relative}.sample-badge{background:var(--fg);color:#fff;padding:2px 6px;font-size:11px;position:absolute;top:8px;left:8px}.column-body{gap:8px;padding:16px 20px 20px;display:grid}.column-meta{align-items:center;gap:8px;display:flex}.column-title{-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:18px;display:-webkit-box;overflow:hidden}.column-excerpt{color:var(--muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:14px;display:-webkit-box;overflow:hidden}.section-more{text-align:right;margin-top:16px}.filters{position:sticky;top:16px}.active-filters{flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:12px;display:flex}.brand-row{border:1px solid var(--line);border-radius:10px;grid-template-columns:112px 1fr 340px 150px;align-items:center;gap:20px;padding:16px;display:grid}.brand-row-thumb,.brand-head-thumb{aspect-ratio:1;background:var(--fill);border:1px solid var(--line);text-align:center;color:var(--muted);border-radius:8px;justify-content:center;align-items:center;padding:4px;font-size:11px;display:flex}.brand-row-info{gap:4px;display:grid}.brand-row-numbers{grid-template-columns:repeat(3,1fr);gap:8px;margin:0;display:grid}.brand-row-numbers dt,.side-numbers dt{color:var(--muted);font-size:12px}.brand-row-numbers dd,.side-numbers dd{margin:0;font-weight:700}.brand-row-actions{gap:6px;display:grid}.btn.is-selected{background:var(--fill)}.btn:disabled,.btn.is-disabled{opacity:.5;pointer-events:none}@media (max-width:1000px){.brand-row{grid-template-columns:80px 1fr}.brand-row-numbers,.brand-row-actions{grid-column:1/-1}}.breadcrumb{padding:16px 0 0}.brand-layout{grid-template-columns:1fr 320px;align-items:start;gap:40px;padding:16px 0 24px;display:grid}.brand-main{gap:16px;min-width:0;display:grid}.brand-head{border:0;grid-template-columns:120px 1fr;align-items:center;gap:20px;padding:8px 0;display:grid}.brand-head h1,.key-numbers{margin:0}.page-toc{z-index:5;background:var(--bg);border-bottom:1px solid var(--line);gap:20px;padding:12px 0;font-size:14px;font-weight:700;display:flex;position:sticky;top:0;overflow-x:auto}.page-toc a{white-space:nowrap;text-decoration:none}.brand-section{padding-top:24px;scroll-margin-top:56px}.brand-side{position:sticky;top:16px}.side-box{border:1px solid var(--line);border-radius:10px;gap:12px;padding:20px;display:grid}.side-numbers{gap:8px;margin:0;display:grid}.side-numbers div{border-bottom:1px dotted var(--line);justify-content:space-between;gap:8px;padding-bottom:4px;display:flex}.btn-large{padding:14px 18px;font-size:16px;font-weight:700}@media (max-width:1000px){.brand-layout{grid-template-columns:1fr}.brand-side{position:static}}.compare-tray{z-index:10;background:var(--bg);border-top:2px solid var(--fg);position:sticky;bottom:0;box-shadow:0 -4px 12px #00000014}.compare-tray-inner{flex-wrap:wrap;align-items:center;gap:16px;padding-top:12px;padding-bottom:12px;display:flex}.compare-slots{flex-wrap:wrap;flex:1;gap:8px;display:flex}.compare-slot{border:1px solid var(--line);border-radius:6px;align-items:center;gap:6px;min-width:140px;padding:6px 10px;font-size:13px;display:inline-flex}.compare-slot.is-empty{color:var(--muted);border-style:dashed}.compare-slot button{cursor:pointer;background:0 0;border:0}.page-head{gap:8px;max-width:820px;padding:24px 0 16px;display:grid}.page-head p{margin:0}.small-title{margin-bottom:8px;font-size:15px}.tag-large{padding:6px 14px;font-size:14px}.tabs{border-bottom:1px solid var(--line);gap:4px;display:flex;overflow-x:auto}.tabs a{white-space:nowrap;border-bottom:3px solid #0000;padding:10px 16px;text-decoration:none}.tabs a.is-active{border-bottom-color:var(--fg);font-weight:700}.compare-scroll{padding-bottom:48px;overflow-x:auto}.compare-table{border-collapse:collapse;table-layout:fixed;width:100%;min-width:860px}.compare-table th,.compare-table td{border-bottom:1px solid var(--line);text-align:left;vertical-align:top;padding:12px}.compare-table tbody th{background:var(--fill);width:180px;font-size:14px}.compare-table thead th:first-child{width:180px}.compare-table .note{margin-top:4px;font-size:12px}.compare-thumb{aspect-ratio:16/9;background:var(--fill);border:1px solid var(--line);color:var(--muted);border-radius:6px;justify-content:center;align-items:center;margin-bottom:8px;font-size:12px;font-weight:400;display:flex}.compare-add{aspect-ratio:16/9;border:1px dashed var(--muted);border-radius:6px;justify-content:center;align-items:center;font-weight:700;text-decoration:none;display:flex}.login-prompt{border:1px solid var(--line);border-radius:10px;gap:16px;max-width:560px;margin:24px auto 64px;padding:32px;display:grid}.login-prompt ul{margin:0;padding-left:20px}.login-buttons{gap:8px;display:grid}.article{gap:16px;max-width:760px;margin:0 auto;padding:16px 0 24px;display:grid}.article-title{margin:0;font-size:30px}.article-hero{object-fit:cover;aspect-ratio:16/9;background:var(--fill);border:1px solid var(--line);width:100%;color:var(--muted);border-radius:10px;justify-content:center;align-items:center;display:flex}.article-toc{border:1px solid var(--line);background:var(--fill);border-radius:8px;padding:16px 20px}.article-toc ol{margin:8px 0 0}.article-body h2{border-bottom:2px solid var(--fg);margin-top:32px;padding-bottom:6px}.article-body p{line-height:1.9}.sample-badge.static{position:static}.author-box{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:72px 1fr;align-items:center;gap:16px;padding:20px 0;display:grid}.author-icon{aspect-ratio:1;background:var(--fill);border:1px solid var(--line);text-align:center;color:var(--muted);border-radius:50%;justify-content:center;align-items:center;font-size:10px;display:flex}.columns-layout{grid-template-columns:1fr 320px;align-items:start;gap:48px;padding:16px 0 64px;display:grid}@media (max-width:1000px){.columns-layout{grid-template-columns:1fr}}.column-rows{display:grid}.column-row{border-bottom:1px solid var(--line);grid-template-columns:240px 1fr;gap:24px;padding:24px 0;text-decoration:none;display:grid}.column-row-thumb{aspect-ratio:16/10;background:var(--fill);border:1px solid var(--line);color:var(--muted);border-radius:8px;justify-content:center;align-items:center;font-size:12px;display:flex;position:relative}.column-row-body{align-content:start;gap:8px;display:grid}.new-badge{background:var(--fg);color:#fff;border-radius:999px;padding:1px 8px;font-size:11px;font-weight:700;position:absolute;top:-8px;left:-6px}.columns-side{gap:4px;padding-top:8px;display:grid;position:sticky;top:16px}.rank-row{border-bottom:1px solid var(--line);grid-template-columns:88px 1fr;align-items:center;gap:12px;padding:10px 0;text-decoration:none;display:grid;position:relative}.rank-num{z-index:1;background:var(--fg);color:#fff;border-radius:4px;justify-content:center;align-items:center;width:20px;height:20px;font-size:11px;font-weight:700;display:flex;position:absolute;top:6px;left:-4px}.rank-thumb{aspect-ratio:16/10;background:var(--fill);border:1px solid var(--line);color:var(--muted);border-radius:6px;justify-content:center;align-items:center;font-size:11px;display:flex}.rank-title{-webkit-line-clamp:3;-webkit-box-orient:vertical;font-size:13px;font-weight:700;display:-webkit-box;overflow:hidden}.column-row-thumb .sample-badge{top:auto;bottom:8px}.share-links{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:repeat(3,1fr);padding:24px 0;display:grid}.share-links a{justify-items:center;gap:8px;text-decoration:none;display:grid}.share-icon{background:var(--fg);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:48px;height:48px;font-size:10px;font-weight:700;display:flex}.doc{max-width:960px;margin:0 auto;padding-bottom:64px}.step-index{grid-template-columns:repeat(4,1fr);gap:8px;margin:16px 0 32px;padding:0;list-style:none;display:grid}.step-index a{border:1px solid var(--line);border-radius:8px;align-items:center;gap:8px;height:100%;padding:10px;font-size:13px;font-weight:700;text-decoration:none;display:flex}.step-num{background:var(--fg);color:#fff;border-radius:50%;flex:none;justify-content:center;align-items:center;width:24px;height:24px;font-size:12px;display:inline-flex}.steps{gap:0;display:grid}.step{border-top:1px solid var(--line);grid-template-columns:48px 1fr;gap:20px;padding:24px 0;scroll-margin-top:16px;display:grid}.step-num-large{width:48px;height:48px;font-size:20px}.step-body h2{margin:0}.check-box{border-left:4px solid var(--fg);background:var(--fill);padding:12px 16px}.check-box ul{margin:4px 0 0;padding-left:20px}.cta-panel{background:var(--fill);text-align:center;border-radius:10px;justify-items:center;gap:16px;padding:32px;display:grid}.form{gap:16px;max-width:640px;display:grid}.form label{gap:4px;font-size:14px;font-weight:700;display:grid}.form input,.form select,.form textarea{font:inherit;border:1px solid var(--muted);border-radius:4px;padding:10px 12px;font-weight:400}.article-body h3{border-left:4px solid var(--fg);margin-top:24px;padding-left:10px}.article-figure{margin:24px 0}.article-figure img{border-radius:6px;width:100%;height:auto}.article-body table{border-collapse:collapse;width:100%;margin:16px 0;font-size:14px}.article-body th,.article-body td{border:1px solid var(--line);text-align:left;padding:8px 10px}.article-body th{background:var(--fill)}.article-brand{max-width:360px;margin:24px 0}.callout{border:2px solid var(--fg);border-radius:8px;margin:24px 0;padding:16px 20px}.callout-caution{border-style:dashed}.callout p{white-space:pre-wrap;margin:4px 0 0}.article-quote{background:var(--fill);border-left:4px solid var(--muted);margin:24px 0;padding:16px 20px}.article-quote p{white-space:pre-wrap;margin:0}.article-quote cite{text-align:right;color:var(--muted);margin-top:8px;font-size:12px;font-style:normal;display:block}.article-embed{border:1px solid var(--line);word-break:break-all;border-radius:8px;margin:24px 0;padding:16px;font-size:13px}.preview-bar{background:#f2f2f2;border:2px solid #333;justify-content:space-between;align-items:center;gap:16px;margin:16px 0;padding:12px 16px;font-weight:700;display:flex}.shindan{max-width:880px;margin:0 auto 64px}.shindan-head h1{margin-bottom:4px}.shindan-progress{align-items:center;gap:12px;margin:16px 0 24px;display:flex}.shindan-bar{background:var(--fill);flex:1;height:6px}.shindan-bar div{background:var(--fg);height:100%}.link-button{font:inherit;cursor:pointer;background:0 0;border:none;padding:0;text-decoration:underline}.chat-row{align-items:flex-start;gap:12px;margin:16px 0;display:flex}.chat-row-me{justify-content:flex-end}.chat-avatar{border:1px solid var(--line);border-radius:50%;flex:none;place-items:center;width:44px;height:44px;font-size:12px;font-weight:700;display:grid}.chat-bubble{border:1px solid var(--line);border-radius:12px;max-width:600px;margin:0;padding:12px 16px}.chat-bubble-me{background:var(--fill)}.chat-choices{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;margin:0 0 24px 56px;display:grid}.chat-choice{border:2px solid var(--fg);background:var(--bg);font:inherit;cursor:pointer;border-radius:8px;padding:16px;font-weight:700}.chat-choice.is-on{background:var(--fg);color:var(--bg)}.chat-next{grid-column:1/-1}.chat-next:disabled{opacity:.4}.shindan-result{margin-top:24px}.shindan-card{flex-direction:column;gap:6px;display:flex}.shindan-why{margin-top:8px}.shindan-reasons{flex:1;margin:0;padding-left:20px}.shindan-actions{gap:8px;margin-top:8px;display:grid}.next-path{flex-direction:column;gap:8px;display:flex}.next-path p{flex:1}.shindan-note{color:var(--muted);margin:0;font-size:13px}.next-path .btn{text-align:center;align-self:stretch}.soudan-steps{grid-template-columns:repeat(3,1fr);gap:16px;padding:0;list-style:none;display:grid}.soudan-steps li{flex-direction:column;gap:4px;display:flex}.form-error{color:#b00;font-weight:700}.learn-hero{background:var(--fill);margin-bottom:24px;padding:72px 0}.learn-hero h1{margin:8px 0 16px;font-size:36px}.learn-feature-image{aspect-ratio:16/9;background:var(--fill);color:var(--muted);place-items:center;margin-bottom:12px;display:grid}.learn-path{grid-template-columns:repeat(5,1fr);gap:12px;padding:0;list-style:none;display:grid}.learn-path a{border:1px solid var(--line);flex-direction:column;gap:6px;height:100%;padding:16px;text-decoration:none;display:flex}.learn-stage{margin:32px 0}.learn-stage-goal{font-size:14px;font-weight:400;display:block}.learn-course{flex-direction:column;gap:6px;display:flex}.learn-course.is-later{background:var(--fill)}.learn-course-head{align-items:center;gap:8px;display:flex}.learn-lessons{margin:0;padding-left:20px;font-size:14px}.faq dt{margin-top:16px;font-weight:700}.faq dd{margin:4px 0 0}.waitlist-form{grid-template-columns:1fr auto;gap:12px;max-width:640px;display:grid}.waitlist-form input[type=email]{border:1px solid var(--line);font:inherit;padding:12px}.waitlist-form p{grid-column:1/-1;margin:0}.profile-prompt h1,.profile-prompt>p{text-align:center}.profile-form{flex-direction:column;gap:16px;display:flex}.profile-form label{flex-direction:column;gap:6px;font-weight:700;display:flex}.profile-form-label-row{align-items:center;gap:8px;display:flex}.profile-form-label-row .tag{border-radius:4px;font-size:11px}.tag-required{background:var(--accent);border-color:var(--accent);color:#fff}.profile-form input,.profile-form select{border:1px solid var(--line);font:inherit;padding:12px;font-weight:400}.profile-form input::placeholder{color:#c2c2c2}.profile-form input:focus::placeholder{color:#0000}.profile-form select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%23777' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;background-size:10px 6px;padding-right:32px}.profile-form select.is-empty-value,.profile-form input[type=date].is-empty-value{color:#c2c2c2}.profile-form-submit{align-self:center;min-width:260px}.course{max-width:820px;padding-bottom:64px}.course h1{flex-wrap:wrap;align-items:center;gap:8px;margin:4px 0 16px;display:flex}.course-goal{border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-bottom:16px;padding:12px 0}.course-goal p{margin:4px 0}.course-bar{height:8px}.course-meta{justify-content:space-between;margin:6px 0 16px;font-size:13px;display:flex}.chapters{margin:0;padding:0;list-style:none}.chapter{border:1px solid var(--line);border-radius:6px;align-items:center;gap:12px;margin-bottom:8px;padding:12px 14px;display:flex}.chapter.is-locked{opacity:.55}.chapter-body{flex:1}.chapter-body strong{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.chapter-steps{gap:12px;font-size:13px;display:flex}.tag-now{background:var(--fg);color:var(--bg)}.course-note{margin-top:16px}.lesson{flex-direction:column;max-width:1200px;margin:0 auto;padding:12px 24px;display:flex;overflow:hidden}.lesson-top{flex:none;width:100%;max-width:820px;margin:0 auto 8px}.lesson-progress-row{align-items:center;gap:16px;display:flex}.lesson-progress-row .shindan-bar{border-radius:3px;flex:1;height:6px;overflow:hidden}.lesson-progress-count{color:var(--muted);flex:none;font-size:13px;font-weight:700}.mode-switch-btn{font:inherit;cursor:pointer;text-align:center}.mode-switch-btn.is-disabled{cursor:not-allowed}.lesson-mode-row{margin-top:10px;display:flex}.lesson-mode-row .mode-switch{gap:4px;width:100%;display:flex}.lesson-mode-row .mode-switch-btn{background:var(--fill);color:var(--muted);border:none;border-radius:10px 10px 0 0;flex:1;padding:10px 12px;font-size:13px;font-weight:700}.lesson-mode-row .mode-switch-btn.is-active{background:var(--bg);color:var(--fg);box-shadow:0 -2px 0 var(--accent) inset}.lesson-mode-row .mode-switch-btn.is-disabled{color:#bbb}.lesson-mode-inline{display:none}.lesson-mode-inline .mode-switch{background:var(--fill);border-radius:999px;padding:2px;display:flex}.lesson-mode-inline .mode-switch-btn{color:var(--muted);background:0 0;border:none;border-radius:999px;padding:5px 12px;font-size:11px;font-weight:700}.lesson-mode-inline .mode-switch-btn.is-active{background:var(--bg);color:var(--fg);box-shadow:0 1px 2px #00000014}.lesson-mode-inline .mode-switch-btn.is-disabled{color:#bbb}.lesson-card{border:1px solid var(--line);border-radius:12px;padding:24px}.lesson-card h1{margin:0 0 16px;font-size:22px}.lesson-nav{justify-content:space-between;align-items:center;gap:12px;margin-top:20px;display:flex}.lesson-actions{flex-wrap:wrap;gap:12px;margin-top:20px;display:flex}.lesson-checks{gap:16px;padding:0;font-weight:700;list-style:none;display:flex}.quiz-label{margin:0 0 4px 50px;font-size:13px}.learn-try{max-width:560px;margin-bottom:8px}.plan-table{border-collapse:collapse;width:100%;margin:12px 0;font-size:14px}.plan-table th,.plan-table td{border:1px solid var(--line);text-align:left;padding:8px}.plan-table input{border:1px solid var(--line);width:100%;font:inherit;text-align:right;border-radius:4px;padding:6px 8px}.plan-table tr.is-fc td{background:var(--fill);font-weight:700}.plan-table .tag{margin-left:6px}.plan-hint{font-size:12px;font-weight:400;display:block}.plan-total td{font-weight:700}.plan-tip{border-left:4px solid var(--fg);background:var(--fill);padding:10px 14px}.plan-tip p{margin:4px 0 0}.plan-section{border:1px solid var(--line);border-radius:8px;margin-bottom:12px;padding:12px 16px}.plan-section h2{margin:0;font-size:16px}.plan-section.is-empty{border-style:dashed}.learn-compare{max-width:640px}.learn-compare td:not(:first-child),.learn-compare th{text-align:center}@media (max-width:640px){.chapter{flex-direction:column;align-items:stretch}.lesson-card{padding:18px}.plan-table{font-size:13px}}.lesson-figure{width:100%;height:auto;margin:0 0 16px;display:block}.lesson-photo{border-radius:8px;width:100%;height:auto;display:block}.fig-dark{fill:var(--fg)}.fig-light{fill:var(--fill);stroke:var(--fg);stroke-width:1.5px}.fig-chip{fill:var(--bg);stroke:var(--fg)}.fig-chip-dark{fill:#555}.fig-chip-dark+text{fill:#fff}.fig-ink{fill:var(--fg)}.fig-line{stroke:var(--fg);stroke-width:2px;fill:none}.fig-line-bold{stroke:var(--fg);stroke-width:4px}.fig-line-dash{stroke:var(--fg);stroke-width:2px;stroke-dasharray:6 5;fill:none}.fig-title{fill:var(--fg);font-size:20px;font-weight:700}.fig-label{fill:var(--fg);font-size:15px;font-weight:700}.fig-small{fill:var(--fg);font-size:12px}.fig-on-dark{fill:#fff}.fig-muted{fill:var(--muted);color:var(--muted)}.fig-gap{border:1px solid var(--line);border-radius:8px;padding:14px}.fig-gap-row{grid-template-columns:1fr;gap:4px;margin-bottom:12px;display:grid}.fig-gap-label{font-size:13px;font-weight:700}.fig-bar{background:var(--fill);border-radius:4px;height:40px;display:flex;overflow:hidden}.fig-seg{color:#fff;border-right:2px solid var(--bg);white-space:nowrap;background:#444;justify-content:center;align-items:center;font-size:11px;transition:width .3s;display:flex;overflow:hidden}.fig-seg:nth-child(2){background:#666}.fig-seg:nth-child(3){background:#888}.fig-seg.is-extra{color:var(--fg);background:repeating-linear-gradient(45deg,#ddd,#ddd 6px,#bbb 6px 12px);font-weight:700}.fig-seg span{text-overflow:ellipsis;padding:0 4px;overflow:hidden}.fig-gap-toggles{flex-wrap:wrap;align-items:center;gap:8px;font-size:13px;display:flex}.fig-toggle{border:2px solid var(--fg);cursor:pointer;border-radius:18px;padding:4px 12px;font-weight:700}.fig-toggle input{display:none}.fig-toggle.is-on{background:var(--fg);color:var(--bg)}.fig-gap p{margin:8px 0 0}.fig-legend{flex-wrap:wrap;gap:4px 14px;margin:4px 0 0;padding:0;font-size:12px;list-style:none;display:flex}.fig-legend li{align-items:center;gap:4px;display:flex}.fig-legend i{border:0;border-radius:2px;width:12px;height:12px}.fig-legend li:first-child i{background:#444}.fig-legend li:nth-child(2) i{background:#666}.fig-legend li:nth-child(3) i{background:#888}.fig-legend li i.is-extra{background:repeating-linear-gradient(45deg,#ddd,#ddd 3px,#bbb 3px 6px)}.gf{font-size:13px}.gf-row2{align-items:stretch;gap:10px;display:flex}.gf-box{border:1.5px solid var(--fg);background:var(--fill);border-radius:10px;flex:1;min-width:0;padding:12px 14px}.gf-box.is-accent{background:var(--accent);border-color:var(--accent);color:#fff}.gf-box-title{margin:0 0 6px;font-size:13.5px;font-weight:700}.gf-box-lines{margin:0;padding:0;font-size:12px;list-style:none}.gf-box-lines li{margin-top:3px}.gf-arrow{min-width:30px;color:var(--accent);text-align:center;flex-direction:column;flex:none;justify-content:center;align-items:center;font-size:20px;font-weight:700;display:flex}.gf-arrow-label{color:var(--muted);white-space:nowrap;margin-top:2px;font-size:10px}.gf-caption{color:var(--muted);text-align:center;margin:8px 0 0;font-size:12px}.gf-scale .gf-pan.is-heavy{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent) inset}.gf-pan-weight{color:var(--accent);margin:6px 0 0;font-size:11px;font-weight:700}.gf-cards{grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:8px;display:grid}.gf-card{border:1.5px solid var(--line);background:var(--bg);border-radius:10px;padding:10px 12px}.gf-card-title{margin:0 0 4px;font-size:12.5px;font-weight:700}.gf-card-lines{color:var(--muted);margin:0;padding:0;font-size:11.5px;list-style:none}.gf-card-lines li{margin-top:2px}.gf-bars{flex-direction:column;gap:12px;display:flex}.gf-bar-label{margin:0 0 3px;font-size:12px;font-weight:700}.gf-bar-track{background:var(--fill);border-radius:4px;height:26px;position:relative;overflow:hidden}.gf-bar-fill{background:var(--accent);border-radius:4px;align-items:center;min-width:2px;height:100%;transition:width .3s;display:flex}.gf-bar-fill.is-highlight{background:var(--fg)}.gf-bar-fill span{color:#fff;white-space:nowrap;padding:0 8px;font-size:11px;font-weight:700}.gf-ref-line{background:#c33;border-left:2px dashed #c33;width:2px;position:absolute;top:-2px;bottom:-2px}.gf-bar-note{color:var(--muted);margin:3px 0 0;font-size:11px}.gf-ref-note{margin-top:2px}.gf-radial{flex-direction:column;align-items:center;gap:10px;display:flex}.gf-radial-center{border:2px solid var(--accent);text-align:center;background:var(--fill);border-radius:10px;padding:10px 16px}.gf-radial-sub{color:var(--muted);margin:2px 0 0;font-size:11px}.gf-radial-spokes{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:8px;width:100%;display:grid}.gf-radial-spoke{border:1.5px solid var(--line);border-radius:10px;padding:8px 10px;position:relative}.gf-radial-spoke:before{content:"";background:var(--line);width:1.5px;height:10px;position:absolute;top:-10px;left:50%}.gf-timeline{justify-content:space-between;gap:6px;padding-top:4px;display:flex;position:relative}.gf-timeline:before{content:"";background:var(--fg);height:2px;position:absolute;top:24px;left:0;right:0}.gf-timeline-event{text-align:center;z-index:1;flex:1;position:relative}.gf-timeline-mark{margin:0;font-size:11.5px;font-weight:700}.gf-timeline-dot{background:var(--accent);border-radius:50%;width:10px;height:10px;margin:4px auto;display:inline-block}.gf-timeline-lines{color:var(--muted);margin:0;padding:0;font-size:10.5px;list-style:none}.gf-table-wrap{overflow-x:auto}.gf-table{border-collapse:collapse;width:100%;font-size:11.5px}.gf-table th,.gf-table td{border:1px solid var(--line);text-align:left;white-space:nowrap;padding:6px 8px}.gf-table thead th{background:var(--fill);font-weight:700}.gf-table tbody th{background:var(--bg);white-space:normal;font-weight:700}.gf-checklist{margin:0;padding:0;list-style:none}.gf-checklist li{border-bottom:1px solid var(--line);align-items:flex-start;gap:8px;padding:7px 0;font-size:12.5px;display:flex}.gf-checklist li:last-child{border-bottom:none}.gf-check-icon{border:1.5px solid var(--fg);border-radius:4px;flex:none;width:16px;height:16px;margin-top:1px}.gf-check-note{color:var(--muted);font-size:11px}.gf-steps{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.gf-step{border:1.5px solid var(--fg);text-align:center;background:var(--bg);border-radius:8px;padding:8px 10px;font-size:11.5px;display:inline-block}.gf-step p{margin:0}.gf-step-value{font-size:13px;font-weight:700;margin-top:2px!important}.gf-step-arrow{color:var(--accent);font-size:16px;font-weight:700}.gf-step-result{border-color:var(--accent);background:var(--accent);color:#fff}@media (max-width:640px){.gf-row2{gap:6px}.gf-box{padding:10px}.gf-timeline{flex-wrap:wrap}.gf-timeline:before{display:none}.gf-timeline-event{flex:40%}}.lesson-card{padding:32px 40px}.lesson-card h1{font-size:26px}@media (max-width:640px){.lesson{padding:10px 12px}.lesson-card{padding:18px}.lesson-card h1{font-size:22px}.lesson-mode-row{display:none}.lesson-mode-inline{flex:none;display:inline-flex}}.chat-flow{flex-direction:column;flex:auto;gap:10px;width:100%;max-width:820px;min-height:0;margin:0 auto;padding-bottom:8px;display:flex;position:relative;overflow-y:auto}.fs-chat .chat-row{align-items:flex-start;gap:12px;margin:0;display:flex}.fs-chat .chat-row-user{justify-content:flex-end;padding-right:6px}.fs-chat .chat-row-followup{padding-left:52px}.fs-chat .chat-avatar{object-fit:cover;border:none;border-radius:50%;flex:none;width:40px;height:40px}.fs-chat .chat-col{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.fs-chat .chat-name{color:var(--muted);font-size:12px;font-weight:700}.fs-chat .chat-bubble{background:var(--fill);border:none;border-radius:16px;max-width:80%;margin:0;padding:14px 18px;position:relative}.fs-chat .chat-bubble:before{content:"";border-top:6px solid #0000;border-bottom:6px solid #0000;border-right:7px solid var(--fill);width:0;height:0;position:absolute;top:14px;left:-6px}.fs-chat .chat-row-followup .chat-bubble:before{display:none}.fs-chat .chat-bubble-user{background:var(--accent);color:#fff;border-radius:16px;max-width:80%}.fs-chat .chat-bubble-user:before{border-right:none;border-left:7px solid var(--accent);left:auto;right:-6px}.fs-chat .chat-bubble p{margin:0;line-height:1.8}.fs-chat .chat-bubble strong+p,.fs-chat .chat-bubble p+p{margin-top:8px}.fs-chat .chat-bubble .chat-note{color:var(--muted);font-size:11px;line-height:1.5}.fs-chat .chat-bubble a{text-decoration:underline}.fs-chat .chat-image{background:var(--bg);border:1px solid var(--line);border-radius:16px;align-self:flex-start;width:calc(100% - 52px);max-width:680px;margin-left:52px;padding:24px 28px}.fs-chat .slide-heading{border-left:4px solid var(--accent);margin:4px 0;padding:2px 0 2px 14px}.fs-chat .slide-heading h2{margin:0;font-size:17px}.fs-chat .quiz-label{background:var(--accent-tint);color:var(--accent);border-radius:999px;margin:0 0 4px 52px;padding:6px 14px;font-weight:700;display:inline-flex}.fs-chat .chat-image .lesson-figure,.fs-chat .chat-image .fig-gap{margin:0}.fs-chat .chat-typing{align-items:center;gap:4px;padding:16px 18px;display:inline-flex}.fs-chat .chat-typing span{background:var(--muted);border-radius:50%;width:7px;height:7px;animation:1.2s ease-in-out infinite chat-typing-bounce}.fs-chat .chat-typing span:nth-child(2){animation-delay:.15s}.fs-chat .chat-typing span:nth-child(3){animation-delay:.3s}.fs-chat .chat-choices{flex-wrap:wrap;gap:8px;margin:2px 0 0 52px;display:flex}.fs-chat .chat-choice{border:2px solid var(--accent);background:var(--bg);color:var(--accent);font:inherit;cursor:pointer;border-radius:999px;padding:10px 16px;font-size:14px;font-weight:700}.fs-chat .chat-choice:hover{background:var(--accent-tint)}@keyframes chat-typing-bounce{0%,80%,to{opacity:.4;transform:translateY(0)}40%{opacity:1;transform:translateY(-4px)}}.chat-nav{flex:none;justify-content:center;align-items:center;width:100%;max-width:820px;min-height:56px;margin:4px auto 0;display:flex}.chat-nav .btn{text-align:center;border-radius:10px;width:240px;max-width:60%;padding:14px 28px;font-size:15px;font-weight:700;display:block}.summary-card{max-width:820px;margin:0 auto}.fs-chat .chat-choice.is-picked{background:var(--accent);color:#fff}.summary-checklist{gap:10px;margin:16px 0;padding:0;list-style:none;display:grid}.summary-checklist label{cursor:pointer;align-items:flex-start;gap:10px;display:flex}.summary-checklist input{flex:none;margin-top:3px}.summary-note{border:1px solid var(--line);width:100%;font:inherit;resize:vertical;border-radius:8px;margin:16px 0;padding:12px 14px;display:block}.fs-chat .summary-choices{margin:16px 0}@media (max-width:640px){.fs-chat .chat-bubble{padding:12px 14px;font-size:14px}.fs-chat .chat-row{gap:10px}.fs-chat .chat-avatar{width:32px;height:32px}.fs-chat .chat-row-followup{padding-left:42px}.fs-chat .chat-choices,.quiz-label,.fs-chat .quiz-label{margin-left:42px}.fs-chat .chat-image{width:calc(100% - 42px);margin-left:42px;padding:16px}.lesson-progress-row{gap:8px}}.fig-accent{fill:var(--accent)}.lesson .shindan-bar>div{background:var(--accent)}.lesson .btn:not(.btn-outline){background:var(--accent);border-color:var(--accent)}.lesson .btn:not(.btn-outline):hover{background:#e67812;border-color:#e67812}.learn .step-num{background:var(--accent)}.learn .btn-large{background:var(--accent);border-color:var(--accent)}.learn .btn-large:hover{background:#e67812;border-color:#e67812}.auth-modal-backdrop{z-index:100;background:#00000080;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.auth-modal{background:#fff;border-radius:12px;width:100%;max-width:400px;padding:32px 28px 28px;position:relative;box-shadow:0 20px 60px #00000040}.auth-modal-close{cursor:pointer;color:var(--muted);background:0 0;border:none;font-size:18px;line-height:1;position:absolute;top:16px;right:16px}.auth-modal h2{margin:0 0 8px;font-size:20px}.auth-modal-terms{color:var(--muted);margin:0 0 24px;font-size:12px}.auth-modal-terms a{color:inherit;text-decoration:underline}.auth-providers{flex-direction:column;gap:12px;display:flex}.auth-provider-btn{border:1px solid var(--line);color:var(--fg);background:#fff;border-radius:8px;justify-content:center;align-items:center;gap:10px;padding:12px;font-size:14px;font-weight:700;text-decoration:none;display:flex}.auth-provider-btn:hover{background:var(--fill)}.auth-provider-btn.is-line{color:#fff;background:#06c755;border-color:#06c755}.auth-provider-btn.is-line:hover{background:#05b34d;border-color:#05b34d}.auth-provider-btn.is-line:active{background:#048b3c;border-color:#048b3c}.auth-modal-switch{text-align:center;color:var(--muted);margin:20px 0 0;font-size:13px}.auth-modal-switch button{color:var(--fg);cursor:pointer;font-weight:700;font:inherit;background:0 0;border:none;margin-left:4px;padding:0;text-decoration:underline}
