:root{--paper:#f6f3eb;--surface:#fffdf8;--ink:#263b34;--muted:#596b62;--green:#275a4d;--green-light:#e3eade;--line:#d6ddd2;--clay:#8d482c;--clay-light:#f7e9df;--radius:18px;--shadow:0 8px 30px #263b3407;color:var(--ink);background:var(--paper);font-synthesis:none;scroll-behavior:smooth;font-family:Yu Gothic UI,Yu Gothic,Hiragino Kaku Gothic ProN,Meiryo,sans-serif;font-size:16px;line-height:1.85}*{box-sizing:border-box}body,h1,h2,h3,p,figure{margin:0}h1,h2,h3{overflow-wrap:anywhere;line-height:1.5}h1,h2{font-family:Yu Mincho,Hiragino Mincho ProN,serif;font-weight:600}p+p{margin-top:1em}a{color:var(--green);text-underline-offset:4px;overflow-wrap:anywhere}button,input,textarea,select{font:inherit}button{cursor:pointer}button,input,textarea,select,a{-webkit-tap-highlight-color:transparent}button:disabled{cursor:default}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,[tabindex]:focus-visible{outline-offset:4px;outline:3px solid #a05231}img,svg{max-width:100%}img{height:auto}button{color:var(--ink)}[hidden]{display:none!important}.page-wrap{width:min(1180px,100% - 64px);margin-inline:auto}.section{padding-block:70px}.eyebrow{letter-spacing:.18em;color:var(--green);font-size:.72rem;font-weight:700;line-height:1.6}.fine{color:var(--muted);font-size:.79rem;line-height:1.75}.muted{color:var(--muted)}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.skip-link{z-index:100;background:var(--surface);box-shadow:var(--shadow);padding:10px 20px;position:fixed;top:15px;left:15px;transform:translateY(-180%)}.skip-link:focus{transform:none}.site-header{border-bottom:1px solid var(--line);background:var(--paper)}.header-inner{justify-content:space-between;align-items:center;gap:25px;width:min(1280px,100% - 64px);min-height:100px;margin:auto;padding-block:20px;display:flex}.brand{align-items:center;gap:12px;font-size:1.12rem;font-weight:700;line-height:1.5;text-decoration:none;display:flex}.brand small{letter-spacing:.12em;color:var(--muted);font-size:.69rem;font-weight:400;display:block}.site-header nav{flex-wrap:wrap;gap:30px;display:flex}.site-header nav a{border-bottom:2px solid #0000;padding:8px 2px;font-size:.88rem;text-decoration:none}.site-header nav a[aria-current]{border-color:var(--green);font-weight:700}.hero{grid-template-columns:1.1fr 1fr;align-items:center;gap:40px;padding-block:72px 64px;display:grid}.hero h1{letter-spacing:.065em;margin-block:18px 22px;font-size:clamp(2.65rem,4.7vw,4.4rem);line-height:1.45}.hero-lead{color:var(--muted);font-size:1.02rem;line-height:2.05}.hero-actions{flex-wrap:wrap;align-items:center;gap:24px;margin-block:28px 18px;display:flex}.hero-art{justify-self:end;max-width:470px}.button{background:var(--green);border:1px solid var(--green);color:#fff;text-align:center;border-radius:8px;justify-content:center;align-items:center;gap:8px;min-height:48px;padding:11px 24px;font-size:.88rem;font-weight:600;line-height:1.65;text-decoration:none;display:inline-flex}.button:hover{background:#1b4439}.button.secondary{color:var(--green);background:0 0}.button.secondary:hover{background:var(--green-light)}.button.small{min-height:44px;padding:8px 12px;font-size:.78rem}.quiet-link{font-size:.88rem}.safety{background:var(--clay-light);color:#693b28;border:1px solid #dfc2af;border-radius:12px;align-items:flex-start;gap:15px;padding:22px 25px;font-size:.86rem;display:flex}.safety p{margin-top:5px;line-height:1.8}.safety a{color:#693b28;margin-top:7px;font-size:.79rem;display:inline-block}.safety-mark{border:1.6px solid;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;margin-top:3px;font-weight:700;display:flex}.safety.compact{margin-block:24px;padding:18px 20px;font-size:.83rem}.section-heading{justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:32px;display:flex}.section-heading h2{letter-spacing:.045em;margin-top:7px;font-size:2rem}.section-heading>p{color:var(--muted);font-size:.9rem}.today-grid{grid-template-columns:repeat(4,1fr);gap:18px;display:grid}.step-card{border:1px solid var(--line);background:var(--surface);border-radius:var(--radius);min-width:0;box-shadow:var(--shadow);flex-direction:column;padding:25px 22px;display:flex;position:relative}.step-number{color:#94a894;margin-bottom:18px;font-family:Georgia,serif;font-size:2rem;line-height:1.3}.step-card h3{margin-bottom:12px;font-size:1.04rem}.step-card p{color:var(--muted);flex:1;font-size:.85rem;line-height:1.85}.step-card a{margin-block:8px;font-size:.82rem}.time-label{color:var(--green);border-top:1px solid var(--line);margin-top:20px;padding-top:12px;font-size:.7rem}.today-grid+.fine{margin-top:18px}.chapters-section{border-block:1px solid var(--line);background:#edefe6}.search-bar{max-width:620px;margin-bottom:24px}.search-bar label{margin-bottom:8px;font-size:.88rem;font-weight:600;display:block}input[type=search],input[type=text],input[type=date],input[type=number],select,textarea{background:var(--surface);width:100%;max-width:100%;color:var(--ink);border:1px solid #a6b6a7;border-radius:8px;min-height:48px;padding:10px 14px;line-height:1.6}.search-bar p{margin-top:7px}.filter-row{flex-wrap:wrap;gap:9px;display:flex}.filter{background:0 0;border:1px solid #9bae9f;border-radius:25px;min-height:44px;padding:8px 16px;font-size:.81rem;line-height:1.5}.filter.active{background:var(--green);color:#fff;border-color:var(--green)}.path-summary{color:var(--muted);flex-wrap:wrap;justify-content:space-between;gap:10px;margin-block:24px 14px;font-size:.83rem;display:flex}.chapter-grid{grid-template-columns:repeat(3,1fr);gap:18px;display:grid}.chapter-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);min-width:0;transition:border-color .2s,transform .2s}.chapter-card:hover{border-color:var(--green);transform:translateY(-3px)}.chapter-card>a{height:100%;color:var(--ink);flex-direction:column;padding:26px;text-decoration:none;display:flex}.chapter-meta{justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:22px;display:flex}.chapter-number{color:#6a816b;font-family:Georgia,serif;font-size:1.85rem;line-height:1.1}.level-tag{color:var(--green);background:var(--green-light);border-radius:5px;padding:4px 10px;font-size:.69rem;line-height:1.6;display:inline-block}.level-tag.guided{background:var(--clay-light);color:#693b28}.chapter-card h3{margin-bottom:12px;font-size:1.1rem}.chapter-card p{color:var(--muted);flex:1;font-size:.85rem;line-height:1.9}.card-bottom{color:var(--muted);border-top:1px solid var(--line);align-items:center;gap:10px;margin-top:26px;padding-top:14px;font-size:.72rem;display:flex}.card-arrow{color:var(--green);margin-left:auto;font-size:1.2rem}.card-read{color:var(--green)}.empty-message{text-align:center;padding:45px 20px}.closing-card{border-radius:var(--radius);background:var(--green-light);max-width:850px;margin:auto;padding:42px 48px}.closing-card h2{margin-block:13px 22px;font-size:2rem}.closing-card>p:not(.eyebrow){color:var(--muted);max-width:650px;font-size:.93rem}.closing-card .button{margin-top:24px}.site-footer{border-top:1px solid var(--line);background:var(--paper);padding-block:45px}.footer-inner{width:min(1180px,100% - 64px);margin:auto}.footer-brand{font-weight:700}.footer-inner>p:nth-child(2){margin-top:6px;font-size:.84rem}.footer-inner>div{flex-wrap:wrap;gap:22px;margin-block:23px;font-size:.8rem;display:flex}.text-button{color:var(--green);text-underline-offset:4px;font-size:inherit;background:0 0;border:0;padding:0;text-decoration:underline}.toast{z-index:30;color:#fff;pointer-events:none;background:#263b34;border-radius:10px;max-width:calc(100% - 30px);padding:12px 20px;font-size:.86rem;position:fixed;bottom:20px;left:50%;transform:translate(-50%);box-shadow:0 4px 20px #0002}.toast:empty{display:none}.chapter-layout{grid-template-columns:235px minmax(0,1fr);gap:56px;padding-block:40px 70px;display:grid}.chapter-sidebar{font-size:.82rem}.chapter-sidebar .back-link{margin-bottom:27px;display:inline-block}.chapter-sidebar ol{margin-block:14px;padding:0;list-style:none}.chapter-sidebar a{border-radius:7px;gap:12px;padding:10px 9px;line-height:1.65;text-decoration:none;display:flex}.chapter-sidebar a[aria-current]{background:var(--green-light);font-weight:700}.chapter-sidebar li a span{color:var(--muted);flex-shrink:0;font-family:Georgia,serif}.lesson{min-width:0;max-width:850px}.lesson-header h1{margin-block:17px 20px;font-size:2.6rem}.lesson-header>.level-tag{margin-top:18px}.lesson-lead{color:var(--muted);font-size:1rem}.guided-note,.editor-note{color:#61432e;background:#f3eade;border-left:4px solid #9b6744;border-radius:0 10px 10px 0;margin-block:22px;padding:18px 22px;font-size:.88rem}.guided-note p,.editor-note p{margin-top:6px}.prerequisites{background:var(--green-light);border-radius:12px;margin-block:24px;padding:18px 22px;font-size:.84rem}.prerequisites ul{flex-wrap:wrap;gap:9px 26px;margin-block:7px 0;padding-left:18px;display:flex}.lesson-section{margin-block:40px}.lesson-section h2{border-bottom:1px solid var(--line);margin-bottom:22px;padding-bottom:12px;font-size:1.65rem}.lesson-section h3{margin-block:22px 12px;font-size:1.12rem}.lesson-section>p{font-size:.95rem;line-height:2.05}.lesson-section p+p{margin-top:1.1em}.practice-panel{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:25px 28px}.practice-panel h2{margin-top:9px}.practice-panel ol{padding-left:20px}.practice-panel li{margin-block:22px;padding-left:8px}.diagram{border:1px solid var(--line);background:var(--surface);border-radius:14px;margin-block:35px;padding:18px;overflow:hidden}.diagram img{width:100%;height:auto;display:block}.diagram figcaption{border-top:1px solid var(--line);padding:16px 5px 0;font-size:.84rem}.diagram figcaption p{color:var(--muted);margin-block:8px;font-size:.83rem}.video-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:22px;display:grid}.video-card{border:1px solid var(--line);background:var(--surface);border-radius:14px;min-width:0;overflow:hidden}.video-placeholder{aspect-ratio:16/9;color:var(--green);background:#e3e8de;flex-direction:column;justify-content:center;align-items:center;gap:12px;font-size:.77rem;display:flex}.video-placeholder iframe{border:0;width:100%;height:100%}.video-body{padding:22px}.video-body h3{margin-block:9px 12px;font-size:1rem}.video-body p{margin-top:10px;font-size:.82rem}.video-body .fine{font-size:.72rem}.video-actions{flex-wrap:wrap;gap:10px;margin-top:18px;display:flex}.artist-card{background:var(--surface);border:1px solid var(--line);border-radius:12px;margin-block:16px;padding:22px}.artist-card h3{margin-top:0}.artist-card p,.artist-card a{font-size:.85rem}.source-blocks{overflow-wrap:anywhere;font-size:.93rem;line-height:2.05}.source-block{margin-block:14px}.source-block p{white-space:pre-wrap}.source-heading{padding-top:12px;font-weight:700}.source-id{color:var(--muted);font-family:monospace;font-size:.68rem}.table-scroll{border:1px solid var(--line);background:var(--surface);border-radius:8px;max-width:100%;overflow:auto}table{border-collapse:collapse;min-width:100%;font-size:.82rem}td,th{text-align:left;vertical-align:top;border:1px solid var(--line);min-width:120px;padding:12px 14px;line-height:1.8}th{background:var(--green-light)}.table-scroll .source-block{margin-block:6px}.lesson-completion{border-block:1px solid var(--line);margin-top:40px;padding:24px 0}.lesson-completion label{align-items:center;gap:12px;font-weight:600;display:flex}input[type=checkbox]{accent-color:var(--green);flex-shrink:0;width:20px;height:20px}.lesson-completion p{margin-block:8px 12px}.lesson-completion a{font-size:.86rem}.lesson-pagination{grid-template-columns:1fr 1fr;gap:25px;margin-top:35px;display:grid}.lesson-pagination a{background:var(--green-light);border-radius:10px;padding:18px;text-decoration:none}.lesson-pagination span{font-size:.73rem;display:block}.lesson-pagination strong{font-size:.91rem;line-height:1.6}.page-heading{max-width:820px;padding-block:55px 35px}.page-heading h1{margin-block:13px 22px;font-size:2.8rem}.page-heading>p:last-child{color:var(--muted)}.content-narrow{max-width:850px;margin-inline:auto}.body-section{margin-block:35px 50px}.body-section h2{margin-bottom:20px;font-size:1.65rem}.body-section h3{margin-block:18px 12px;font-size:1.05rem}.two-column{grid-template-columns:1fr 1fr;gap:30px;display:grid}.plan-card,.record-panel{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:28px}.plan-card h3{margin-top:0}.plan-card p{font-size:.88rem}.week-label{color:var(--green);letter-spacing:.07em;margin-bottom:10px;font-size:.73rem;font-weight:700;display:block}.plan-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;display:grid}.plan-grid .plan-card{padding:24px}.field{margin-bottom:18px;display:block}.field>span{margin-bottom:7px;font-size:.86rem;font-weight:600;display:block}.field .fine{margin-top:6px;display:block}.field-row{grid-template-columns:1fr 1fr;gap:18px;display:grid}textarea{resize:vertical;min-height:125px}.consent-label{align-items:flex-start;gap:12px;margin-block:20px;font-size:.85rem;display:flex}.consent-label input{margin-top:5px}.form-actions{flex-wrap:wrap;gap:12px;display:flex}.record-entry{border-top:1px solid var(--line);padding:22px 0}.record-entry:first-child{border-top:0}.record-entry header{justify-content:space-between;align-items:center;gap:15px;display:flex}.record-entry h3{margin:0;font-size:1rem}.record-entry p{white-space:pre-wrap;overflow-wrap:anywhere;font-size:.87rem}.record-entry .meta{color:var(--muted);margin-block:7px;font-size:.76rem}.record-entry button{background:0 0;border:1px solid #bcc8ba;border-radius:6px;min-height:44px;padding:6px 13px;font-size:.8rem}.privacy-note{background:var(--green-light);border-radius:12px;margin-block:25px;padding:20px 24px;font-size:.85rem}.glossary-list{gap:16px;display:grid}.glossary-item{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:23px}.glossary-item dt{font-size:1.04rem;font-weight:700}.glossary-item dd{margin:9px 0 0;font-size:.9rem}.glossary-item .term-links{flex-wrap:wrap;gap:12px;margin-top:12px;font-size:.8rem;display:flex}.source-list{padding-left:24px}.source-list li{margin-block:18px;font-size:.89rem}.library-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;display:grid}.notice-box{background:var(--surface);border:1px solid var(--line);border-radius:12px;margin-block:24px;padding:24px;font-size:.9rem}.print-only{display:none}@media (width<=1000px){.today-grid,.chapter-grid{grid-template-columns:repeat(2,1fr)}.chapter-layout{grid-template-columns:190px minmax(0,1fr);gap:30px}.library-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.video-grid{grid-template-columns:1fr}.hero{gap:15px}.plan-grid{grid-template-columns:1fr}}@media (width<=760px){.page-wrap,.header-inner,.footer-inner{width:calc(100% - 40px)}.header-inner{flex-wrap:wrap;gap:18px;min-height:100px}.site-header nav{gap:24px}.hero{grid-template-columns:1fr;padding-block:45px 35px}.hero h1{font-size:2.8rem}.hero-art{z-index:-1;opacity:.3;width:210px;position:absolute;top:170px;right:0}.section{padding-block:45px}.section-heading h2{font-size:1.7rem}.section-heading{gap:18px}.section-heading>p{font-size:.77rem}.chapter-layout{padding-top:20px;display:block}.chapter-sidebar>nav,.chapter-sidebar>.eyebrow{display:none}.chapter-sidebar .back-link{margin-bottom:25px}.lesson-header h1{font-size:2.1rem}.lesson-section{margin-block:32px}.page-heading{padding-block:35px 25px}.page-heading h1{font-size:2.1rem}.two-column{grid-template-columns:1fr}.closing-card{padding:30px}.library-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=560px){.page-wrap,.header-inner,.footer-inner{width:calc(100% - 32px)}.brand{font-size:1rem}.site-header nav{justify-content:space-between;gap:12px;width:100%}.site-header nav a{font-size:.8rem}.hero h1{font-size:2.5rem}.hero-lead{font-size:.93rem}.hero-actions{gap:18px}.desktop-only{display:none}.safety{gap:10px;padding:18px 15px;font-size:.8rem}.section-heading{display:block}.section-heading>p{margin-top:15px}.section-heading>p br{display:none}.today-grid,.chapter-grid,.library-grid{grid-template-columns:1fr}.step-card{padding:22px}.step-number{margin-bottom:12px;font-size:1.6rem}.step-card h3{font-size:1.05rem}.chapter-card>a{padding:24px}.closing-card{padding:27px 23px}.closing-card h2{font-size:1.75rem}.lesson-header h1{font-size:1.85rem}.lesson-section h2{font-size:1.4rem}.safety.compact{padding:16px 13px}.guided-note,.editor-note{padding:16px}.lesson-pagination{gap:12px}.lesson-pagination a{padding:13px}.field-row{grid-template-columns:1fr;gap:0}.record-panel,.plan-card,.practice-panel{padding:22px}.diagram{padding:10px}.diagram figcaption{font-size:.78rem}.hero-art{opacity:.25;width:170px;top:220px}.filter{padding:8px 13px}.footer-inner>div{gap:15px}}@media (prefers-reduced-motion:reduce){:root{scroll-behavior:auto}*,:before,:after{transition:none!important;animation:none!important}.chapter-card:hover{transform:none}}@media print{:root{color:#000;scroll-behavior:auto;background:#fff;font-size:11pt;line-height:1.65}body{background:#fff}.site-header,.site-footer,.chapter-sidebar,.hero-art,.search-bar,.filter-row,.hero-actions,.video-actions,.lesson-completion,.lesson-pagination,.toast,.skip-link,.form-actions,.record-entry button,.no-print{display:none!important}.page-wrap{width:100%;margin:0}.hero,.chapter-layout,.section{padding:0;display:block}.section{margin-block:20pt}.hero h1{font-size:25pt}.section-heading h2,.page-heading h1,.lesson-header h1{font-size:22pt}.chapter-grid,.today-grid,.two-column,.library-grid,.video-grid,.plan-grid{display:block}.chapter-card,.step-card,.video-card,.plan-card,.glossary-item{break-inside:avoid;box-shadow:none;margin-block:12pt}.hero-art,.video-placeholder{display:none}.lesson-section{margin-block:20pt}.safety,.guided-note,.editor-note,.privacy-note{break-inside:avoid;background:#fff;border:1px solid #777}.diagram{break-inside:avoid;max-width:650px}.table-scroll{max-width:none;overflow:visible}table{table-layout:fixed;width:100%;min-width:0;font-size:8pt}td,th{overflow-wrap:anywhere;min-width:0;padding:6pt}.print-only{display:block}.source-blocks{font-size:10pt}.page-heading{padding-block:15pt}.lesson{max-width:none}.record-entry{break-inside:avoid}textarea{min-height:70pt}.field-row{display:block}a{color:#000}.source-list li{break-inside:avoid}}.hero-art{width:100%;max-width:470px}.hero-art svg{width:100%;height:auto;display:block}.today-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.inline-bold{font-weight:700}.inline-italic{font-style:italic}.inline-underline{text-underline-offset:3px;text-decoration:underline}.inline-superscript{vertical-align:super;font-size:.75em}.source-heading{margin-top:26px;font-size:1.08rem;line-height:1.8}.source-full{border:1px solid var(--line);background:var(--surface);border-radius:12px;padding:22px}.source-full>summary{cursor:pointer;min-height:44px;font-weight:600;line-height:1.8}.source-full[open]>summary{margin-bottom:25px}.diagram-labels{margin-block:14px;font-size:.83rem}.diagram-labels summary{cursor:pointer;min-height:36px}.diagram-labels ul{margin-top:8px}.video-limits{border-top:1px solid var(--line);padding-top:11px}.source-block[data-source-kind=heading]{scroll-margin-top:24px}.hero-art{overflow:visible}@media (width<=1000px){.today-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=760px){.hero-art{opacity:.17;z-index:0;pointer-events:none;width:210px}.hero-copy{z-index:1;position:relative}}@media (width<=560px){.today-grid{grid-template-columns:1fr}.hero-art{opacity:.14;width:170px}}@media print{.hero-art{display:none}.today-grid{display:block}.source-full{border:0;padding:0}.source-full>summary{display:none}}.step-number{color:#6f866f}.record-panel,.plan-card,.field-row,.field,.two-column>*,input,select,textarea{min-width:0}.lesson-local-nav{border-block:1px solid var(--line);flex-wrap:wrap;gap:10px 22px;margin-block:25px;padding-block:14px;font-size:.84rem;display:flex}.lesson-local-nav a{align-items:center;min-height:36px;display:inline-flex}.lesson-local-nav+section{scroll-margin-top:24px}@media print{.lesson-local-nav{display:none}.plan-page .page-heading{padding:0 0 12pt}.plan-page .page-heading h1{margin-block:6pt 8pt}.plan-page .safety{margin-bottom:18pt;padding:12pt;font-size:9pt}.plan-page .body-section{margin-block:18pt}.plan-page .plan-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10pt;display:grid}.plan-page .plan-card{margin:0;padding:12pt}.plan-page .notice-box{break-inside:avoid;margin-block:12pt;padding:12pt}.plan-page .privacy-note{margin-block:12pt;padding:12pt}.plan-page [data-print],.plan-page .consent-label{display:none!important}.plan-page .two-column{break-before:page}.plan-page .record-panel{break-inside:avoid;margin-block:0 14pt;padding:18pt}.plan-page .field-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:12pt;display:grid}.plan-page input,.plan-page select{min-height:30pt;padding:6pt 10pt}.plan-page .field{margin-bottom:12pt}}
