@font-face{font-family:'Hakko Noto Sans';src:url('../fonts/noto-sans-400.woff2') format('woff2');font-style:normal;font-weight:400;font-display:swap}@font-face{font-family:'Hakko Noto Sans';src:url('../fonts/noto-sans-700.woff2') format('woff2');font-style:normal;font-weight:700;font-display:swap}@font-face{font-family:'Hakko Noto Serif';src:url('../fonts/noto-serif-400.woff2') format('woff2');font-style:normal;font-weight:400;font-display:swap}@font-face{font-family:'Hakko Noto Serif';src:url('../fonts/noto-serif-400-italic.woff2') format('woff2');font-style:italic;font-weight:400;font-display:swap}@font-face{font-family:'Hakko Noto Serif';src:url('../fonts/noto-serif-700.woff2') format('woff2');font-style:normal;font-weight:700;font-display:swap}@font-face{font-family:'Hakko Noto Sans JP';src:url('../fonts/noto-sans-jp-400.woff2') format('woff2');font-style:normal;font-weight:400;font-display:swap}@font-face{font-family:'Hakko Noto Sans JP';src:url('../fonts/noto-sans-jp-700.woff2') format('woff2');font-style:normal;font-weight:700;font-display:swap}*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}:root{--color-primary:#b71c1c;--color-primary-light:#e53935;--color-primary-dark:#7f0000;--color-primary-bg:#fdecea;--color-primary-bg-subtle:#fff5f5;--color-accent:#c62828;--color-text:#2c2c2c;--color-text-light:#5f5f5f;--color-text-muted:#888;--color-bg:#ffffff;--color-bg-alt:#fafafa;--color-border:#e0e0e0;--color-border-light:#f0f0f0;--font-serif:'Hakko Noto Serif','Noto Serif','Iowan Old Style','Palatino Linotype','Book Antiqua','URW Palladio L','Baskerville','Georgia',serif;--font-sans:'Hakko Noto Sans','Noto Sans','Avenir Next','Segoe UI','Helvetica Neue','Nimbus Sans',Arial,sans-serif;--font-jp:'Hakko Noto Sans JP','Noto Sans JP','Noto Sans CJK JP','Hiragino Sans','Yu Gothic','Meiryo','MS PGothic',sans-serif;--sidebar-width:280px;--content-max:800px;--spacing:1.5rem}html{font-size:13pt;scroll-behavior:smooth;overflow-x:clip}body{font-family:var(--font-serif);color:var(--color-text);background:var(--color-primary-bg);line-height:1.75;display:flex;flex-direction:column;min-height:100vh}.skip-link{position:absolute;top:0.75rem;left:0.75rem;z-index:400;padding:0.65rem 0.9rem;background:var(--color-primary-dark);color:#fff;text-decoration:none;border-radius:8px;transform:translateY(-200%);transition:transform 0.2s ease}.skip-link:focus{transform:translateY(0)}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.sidebar{position:fixed;top:0.75rem;left:0.75rem;width:var(--sidebar-width);height:calc(100vh - 3.5rem);overflow-y:auto;background:rgba(102,0,10,0.85);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);color:#f5e0e0;z-index:100;display:flex;flex-direction:column;transition:transform 0.3s ease;border-radius:16px;border:1px solid rgba(255,255,255,0.10);box-shadow:0 8px 32px rgba(0,0,0,0.35),inset 0 1px 0 rgba(255,255,255,0.08);scrollbar-width:thin;scrollbar-color:transparent transparent}.sidebar:hover{scrollbar-color:rgba(255,255,255,0.20) transparent}.sidebar::-webkit-scrollbar{width:4px}.sidebar::-webkit-scrollbar-track{background:transparent}.sidebar::-webkit-scrollbar-thumb{background:transparent;border-radius:2px;transition:background 0.2s}.sidebar:hover::-webkit-scrollbar-thumb{background:rgba(255,255,255,0.20)}.sidebar:hover::-webkit-scrollbar-thumb:hover{background:rgba(255,255,255,0.38)}.sidebar::before{content:'';position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:220px;height:220px;background:url('../img.php?f=yotsume_zwart_oog.svg') center / contain no-repeat;opacity:0.02;filter:brightness(0) invert(1);pointer-events:none;z-index:0}.sidebar-header{padding:2rem 1.25rem 0.75rem;border-bottom:1px solid rgba(255,255,255,0.1)}.site-title{font-family:var(--font-sans);font-size:1.05rem;font-weight:700;color:#fff;text-decoration:none;display:block;line-height:1.3}.site-title:hover{color:var(--color-primary-bg)}.site-author{font-size:0.8rem;color:rgba(255,255,255,0.5);margin-top:0.3rem}.site-subtitle{font-size:0.78rem;color:#fff;font-style:italic;margin-top:0.1rem;margin-bottom:0}.sidebar-nav{flex:1;overflow-y:auto;padding:0.75rem 0}.sidebar-footer{padding:0.75rem 0;border-top:1px solid rgba(255,255,255,0.1);display:flex;flex-direction:column}.sidebar-footer-link{display:flex;align-items:center;gap:0.55rem;padding:0.35rem 1.25rem;color:rgba(255,255,255,0.6);text-decoration:none;font-family:var(--font-sans);font-size:0.82rem;transition:background 0.15s,color 0.15s;border-left:3px solid transparent}.sidebar-footer-link:hover{background:rgba(255,255,255,0.07);color:#fff}.sidebar-footer-link.active{color:#fff;border-left-color:var(--color-primary-light)}.nav-list{list-style:none;padding:0;margin:0}.nav-part{font-family:var(--font-sans);font-size:0.7rem;font-weight:700;text-transform:uppercase;letter-spacing:0.08em;color:var(--color-primary-bg);padding:1.25rem 1.25rem 0.4rem}.nav-separator{height:0;margin:0.75rem 0;list-style:none}.nav-item>a{display:flex;align-items:center;justify-content:space-between;gap:0.6rem;padding:0.35rem 1.25rem;color:rgba(255,255,255,0.75);text-decoration:none;font-family:var(--font-sans);font-size:0.85rem;line-height:1.4;transition:background 0.15s,color 0.15s;border-left:3px solid transparent}.nav-item-title{min-width:0}.nav-item-lock{flex-shrink:0;font-size:0.72rem;line-height:1;opacity:0.8}.nav-item>a:hover{background:rgba(255,255,255,0.07);color:#fff}.nav-item.active>a{background:rgba(255,255,255,0.1);color:#fff;border-left-color:var(--color-primary-light);font-weight:600}.book-switcher{padding:0.5rem 0.75rem;border-bottom:1px solid rgba(255,255,255,0.1);display:flex;gap:0}.book-switcher-item{flex:1;text-align:center;padding:0.4rem 0.25rem;font-family:var(--font-sans);font-size:0.72rem;font-weight:600;color:rgba(255,255,255,0.5);text-decoration:none;border-bottom:2px solid transparent;transition:color 0.15s,border-color 0.15s;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.book-switcher-item:hover{color:rgba(255,255,255,0.8)}.book-switcher-item.active{color:#fff;border-bottom-color:var(--color-primary-light)}.nav-sections{list-style:none;padding:0;margin:0 0 0.25rem}.nav-section-item a{display:block;padding:0.25rem 1.25rem 0.25rem 2rem;color:rgba(255,255,255,0.55);text-decoration:none;font-family:var(--font-sans);font-size:0.78rem;line-height:1.35;border-left:3px solid transparent;transition:background 0.15s,color 0.15s}.nav-section-item a:hover{background:rgba(255,255,255,0.06);color:rgba(255,255,255,0.85)}.nav-section-item.active a{color:#fff;border-left-color:rgba(255,255,255,0.4)}.nav-toggle{display:none;position:fixed;top:1rem;left:1rem;z-index:200;background:rgba(102,0,10,0.85);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border:1px solid rgba(255,255,255,0.10);border-radius:10px;padding:0.6rem;cursor:pointer;flex-direction:column;gap:4px;box-shadow:0 4px 16px rgba(0,0,0,0.30)}.nav-toggle span{display:block;width:22px;height:2px;background:#fff;border-radius:2px;transition:transform 0.2s}.main-wrapper{margin-left:calc(var(--sidebar-width) + 1.5rem);margin-top:0.75rem;margin-right:1rem;margin-bottom:0.75rem;background:var(--color-bg);border-radius:16px;box-shadow:0 4px 24px rgba(0,0,0,0.18),0 2px 8px rgba(0,0,0,0.08);min-height:calc(100vh - 1.5rem);display:flex;flex-direction:column;max-width:calc(var(--content-max) + 4rem)}main.content{flex:1;padding:2.5rem var(--spacing) 4rem;max-width:calc(var(--content-max) + 4rem);position:relative}main.content>article{max-width:var(--content-max);margin:0 auto;padding-right:3rem}@media (max-width:900px){main.content>article{padding-right:0}}h1,h2,h3,h4,h5,h6{font-family:var(--font-sans);color:var(--color-primary-dark);margin-top:2.5rem;margin-bottom:1rem;line-height:1.25}h1{font-size:2rem;margin-top:0}h2{font-size:1.65rem}h3{font-size:1.35rem}h4{font-size:1.15rem}.partHead,.likepartHead{font-size:1.8rem;text-align:center;color:var(--color-primary);border-bottom:2px solid var(--color-primary-bg);padding-bottom:1rem;margin-bottom:2rem}p{margin-bottom:1rem}main.content>article p{text-align:justify;text-justify:inter-word;hyphens:auto}a{color:var(--color-accent);text-decoration-thickness:1px;text-underline-offset:2px}a:hover{color:var(--color-primary-dark)}blockquote{margin:1.5rem 0;padding:1rem 1.25rem;border-left:4px solid var(--color-primary-light);background:var(--color-primary-bg-subtle);border-radius:0 6px 6px 0}hr{border:none;margin:2.5rem auto;max-width:55%;height:3px;background:radial-gradient( ellipse 50% 100% at 50% 50%,var(--color-primary) 0%,rgba(183,28,28,0.55) 35%,transparent 100% );opacity:0.5}.citaat{background:var(--color-primary-bg);border-left:5px solid var(--color-primary);padding:1.25rem 1.5rem;margin:2rem 0;border-radius:0 8px 8px 0;position:relative}.citaat::before{content:'\201C';font-size:3.5rem;color:var(--color-primary-light);position:absolute;top:-0.2rem;left:0.5rem;line-height:1;opacity:0.4}.citaat .citaat-attribution{font-family:var(--font-sans);font-weight:600;font-size:0.9rem;color:var(--color-primary);margin-bottom:0.75rem;display:flex;align-items:center;gap:0.6em}.citaat-soke-img{width:2.2rem;height:2.2rem;border-radius:50%;object-fit:cover;object-position:center top;border:2px solid var(--color-primary-light);flex-shrink:0}.citaat-close-quote{display:block;text-align:right;font-size:2.5rem;line-height:0.5;color:var(--color-primary-light);opacity:0.5;margin-top:0.5rem;font-family:Georgia,serif}.citaat p:last-child{margin-bottom:0}.zijsprong{background:var(--color-bg-alt);border:1px solid var(--color-border);border-radius:8px;padding:1.25rem 1.5rem;margin:2rem 0}.zijsprong-title{font-family:var(--font-sans);font-weight:700;font-size:0.95rem;color:var(--color-primary);margin-bottom:0.75rem !important}.principe{float:right;margin:0 0 1rem 1.5rem;padding:0.75rem 1.25rem;text-align:center;font-family:var(--font-sans);font-size:0.85rem;font-weight:600;color:var(--color-primary);line-height:1.3}.principe .japanese{font-size:1.6rem;display:inline-block;line-height:1.5;text-align:center;background:var(--color-primary);color:#fff;border-radius:999px;padding:0.35rem 0.9rem;margin-top:0.4rem}.two-col{columns:2;column-gap:2.5rem;column-rule:1px solid var(--color-border,#e0d6f0)}.two-col ol,.two-col ul{margin-top:0}.two-col li{break-inside:avoid-column}.two-col p{break-inside:avoid-column}.character-page{text-align:center;font-size:3rem;padding:3rem 0;color:var(--color-primary-light)}figure,.figure{margin:1.5rem 0;text-align:center;clear:both}figure img,.figure img{max-width:100%;height:auto;border-radius:4px;display:block;margin:0 auto}figcaption,.caption{font-family:var(--font-sans);font-size:0.82rem;color:var(--color-text-light);margin-top:0.5rem;text-align:center;line-height:1.4;display:block;clear:both;width:100%}.subfigure{display:inline-block;vertical-align:top;margin:0.25rem 0.5rem;max-width:45%;text-align:center}.subfigure img{max-width:100%;height:auto;display:block;margin:0 auto}.subfigure .caption,.subfigure figcaption{margin-top:0.35rem;font-size:0.78rem}.subfigure .caption .id,.subfigure figcaption .id{display:inline}.subfigure .caption .content,.subfigure figcaption .content{display:inline}.wrapfig-r,.wrapfig-l,.wrapfig-o{text-align:center}.wrapfig-r img,.wrapfig-l img,.wrapfig-o img{display:block;max-width:100% !important;margin:0 auto 0.35rem}.wrapfig-o{float:right;margin:0.25rem 0 1rem 1.5rem}.wrap-r,[style*="float:right"],.wrapfig-r{float:right;max-width:40%;margin:0.5rem 0 1rem 1.5rem}.wrap-l,[style*="float:left"],.wrapfig-l{float:left;max-width:40%;margin:0.5rem 1.5rem 1rem 0}table{width:100%;border-collapse:collapse;margin:1.5rem 0;font-size:0.92rem}th,td{padding:0.6rem 0.8rem;text-align:left;border-bottom:1px solid var(--color-border);vertical-align:top}thead th{font-family:var(--font-sans);font-weight:700;border-bottom:2px solid var(--color-primary-light);color:var(--color-primary-dark)}tbody tr:hover{background:var(--color-primary-bg-subtle)}caption{font-family:var(--font-sans);font-size:0.82rem;color:var(--color-text-light);margin-top:0.5rem;caption-side:bottom;text-align:center}#TBL-1-4-1{background-color:#900000;color:#fff}#TBL-1-4-2{background-color:#b50000;color:#fff}#TBL-1-4-3{background-color:#ff0000;color:#fff}#TBL-1-4-4{background-color:#d23f00;color:#fff}#TBL-1-4-5{background-color:#edc900;color:#000}#TBL-1-4-6{background-color:#237c00;color:#fff}#TBL-1-4-7{background-color:#0000d2;color:#fff}#TBL-1-4-8{background-color:#5e00e3;color:#fff}#TBL-1-4-9{background-color:#800080;color:#fff}ul,ol{margin:1rem 0;padding-left:1.75rem}li{margin-bottom:0.3rem}.footnote-mark{font-size:0.75em;vertical-align:super;color:var(--color-accent)}.footnote-text{font-size:0.85rem;color:var(--color-text-light);border-top:1px solid var(--color-border-light);padding-top:0.5rem;margin-top:0.5rem}.chapter-progress{position:fixed;top:0;left:0;width:100%;height:3px;z-index:260;background:transparent;pointer-events:none}.chapter-progress-bar{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--color-primary),var(--color-primary-light));box-shadow:0 0 10px rgba(183,28,28,0.35)}.chapter-nav{max-width:var(--content-max);margin:3rem auto 0;padding:1.5rem 0;border-top:2px solid var(--color-border-light);display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;font-family:var(--font-sans)}.chapter-nav a{text-decoration:none;display:block}.chapter-nav .nav-label{display:block;font-size:0.75rem;text-transform:uppercase;letter-spacing:0.05em;color:var(--color-text-muted);margin-bottom:0.2rem}.chapter-nav .nav-title{font-size:0.9rem;color:var(--color-accent);font-weight:600}.chapter-nav a:hover .nav-title{color:var(--color-primary-dark)}.chapter-nav-prev{text-align:left;flex:1}.chapter-nav-toc{text-align:center;flex:0 0 auto}.chapter-nav-next{text-align:right;flex:1}.chapter-mini-toc{position:fixed;right:1rem;bottom:4.35rem;width:min(24rem,calc(100vw - 2rem));max-height:min(55vh,28rem);overflow:auto;padding:0.7rem 0.85rem 0.75rem;border-radius:12px;border:1px solid rgba(183,28,28,0.2);background:rgba(255,245,245,0.92);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:0 10px 28px rgba(0,0,0,0.16);z-index:190}.chapter-mini-toc h2{margin:0 0 0.6rem;font-size:0.82rem;font-family:var(--font-sans);font-weight:700;text-transform:uppercase;letter-spacing:0.06em;color:var(--color-primary-dark)}.chapter-mini-toc-toggle{position:fixed;right:1rem;bottom:1rem;z-index:191;border:1px solid rgba(255,255,255,0.2);border-radius:999px;padding:0.55rem 0.9rem;background:rgba(102,0,10,0.9);color:#fff;font-family:var(--font-sans);font-size:0.8rem;box-shadow:0 8px 20px rgba(0,0,0,0.25);cursor:pointer}.chapter-mini-toc-toggle[aria-expanded='true']{background:rgba(127,0,0,0.92)}.chapter-mini-toc ul{margin:0;padding:0;list-style:none}.chapter-mini-toc li{margin:0}.chapter-mini-toc a{display:block;padding:0.34rem 0.2rem;color:var(--color-text-light);text-decoration:none;font-family:var(--font-sans);font-size:0.8rem;line-height:1.3;border-left:2px solid transparent}.chapter-mini-toc a:hover,.chapter-mini-toc a.is-active{color:var(--color-primary-dark);border-left-color:var(--color-primary);padding-left:0.45rem}.home-header{text-align:center;padding:3rem 0 2rem;border-bottom:2px solid var(--color-primary-bg);margin-bottom:2.5rem}.home-header h1{font-size:2.2rem;color:var(--color-primary-dark)}.home-author{font-family:var(--font-sans);color:var(--color-text-light);font-size:1.05rem;margin-top:0.5rem}.toc-full{max-width:600px;margin:0 auto}.toc-part-title{font-size:1.2rem;color:var(--color-primary);border-bottom:1px solid var(--color-primary-bg);padding-bottom:0.4rem;margin-top:2rem;margin-bottom:0.75rem}.toc-chapters{list-style:none;padding:0}.toc-chapters li{margin:0}.toc-chapters a{display:block;padding:0.5rem 0.75rem;border-radius:6px;text-decoration:none;color:var(--color-text);transition:background 0.15s;font-size:1rem}.toc-chapters a:hover{background:var(--color-primary-bg);color:var(--color-primary-dark)}.toc-sections{list-style:none;padding:0 0 0 1.25rem;margin:0}.toc-sections li{margin:0}.toc-sections a{display:block;padding:0.25rem 0.75rem;border-radius:4px;text-decoration:none;color:var(--color-text-light);font-size:0.9rem;transition:background 0.15s,color 0.15s}.toc-sections a:hover{background:var(--color-primary-bg);color:var(--color-primary-dark)}.page-landing{background:var(--color-primary-bg);min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;padding:5vh 5vw;gap:1rem}.landing-card{background:var(--color-bg);border-radius:24px;box-shadow:0 12px 60px rgba(0,0,0,0.15),0 2px 8px rgba(0,0,0,0.08);width:90vw;max-width:1200px;overflow:hidden}.page-landing>.site-footer{margin-top:1rem;width:90vw;max-width:1200px;background:#f7f7f7;border-radius:16px;box-shadow:0 10px 30px rgba(0,0,0,0.12);border-top:0}.landing-hero{position:relative;display:flex;align-items:center;gap:4rem;padding:4rem 3.5rem;overflow:hidden}.landing-hero::before{content:'';position:absolute;inset:-8rem auto auto -7rem;width:22rem;height:22rem;border-radius:50%;background:radial-gradient(circle at center,rgba(183,28,28,0.12) 0%,rgba(183,28,28,0) 72%);pointer-events:none}.landing-hero-text{position:relative;z-index:1;flex:1 1 55%;min-width:0}.landing-kicker{display:inline-flex;align-items:center;margin:0 0 0.7rem;padding:0.28rem 0.72rem;border-radius:999px;background:rgba(183,28,28,0.08);border:1px solid rgba(183,28,28,0.18);font-family:var(--font-sans);font-size:0.72rem;font-weight:700;letter-spacing:0.06em;text-transform:uppercase;color:var(--color-primary-dark)}.landing-title{font-size:3rem;color:var(--color-primary-dark);line-height:1.15;margin-bottom:0.25rem;letter-spacing:-0.02em}.landing-subtitle{font-size:1.1rem;font-style:italic;color:var(--color-primary-dark);margin-bottom:0.6rem}.landing-author{font-family:var(--font-sans);color:var(--color-text-light);font-size:1.05rem;margin-bottom:1.5rem}.landing-tagline{font-size:1.15rem;line-height:1.7;color:var(--color-text);max-width:520px}.landing-cta{margin-top:2.5rem;display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.landing-contact-link{font-family:var(--font-sans);font-size:0.95rem;font-weight:600;color:var(--color-primary-dark);text-decoration:none;padding:0.2rem 0;border-bottom:1px solid transparent;transition:color 0.2s ease,border-color 0.2s ease}.landing-contact-link:hover,.landing-contact-link:focus-visible{color:var(--color-primary);border-color:rgba(183,28,28,0.45)}.landing-proof{list-style:none;margin:1.35rem 0 0;padding:0.62rem 0.9rem;border-radius:12px;border:1px solid rgba(183,28,28,0.12);background:linear-gradient(90deg,rgba(183,28,28,0.08),rgba(183,28,28,0.02));display:flex;align-items:center;gap:0.75rem;flex-wrap:wrap;font-family:var(--font-sans);font-size:0.82rem;color:var(--color-text-light)}.landing-proof li{display:inline-flex;align-items:center;gap:0.75rem}.landing-proof li + li::before{content:'';width:0.28rem;height:0.28rem;border-radius:999px;background:rgba(183,28,28,0.4)}.landing-proof strong{color:var(--color-primary-dark)}.landing-hero-image{position:relative;z-index:1;flex:0 1 40%;min-width:0;display:flex;align-items:center;justify-content:center}.landing-image-stack{position:relative;width:100%;max-width:360px;aspect-ratio:3 / 4;--parallax-x:0px;--parallax-y:0px}.landing-image-stack .stack-kanji{position:absolute;top:8%;right:-0.5rem;background:var(--color-primary);color:#fff;border-radius:999px;padding:3rem 1.1rem;font-size:3.5rem;line-height:1.3;writing-mode:vertical-rl;letter-spacing:0.15em;opacity:0.82;box-shadow:0 4px 18px rgba(0,0,0,0.22);user-select:none;transition:transform 0.24s ease;transform:translate(calc(var(--parallax-x) * 0.42),calc(var(--parallax-y) * 0.42))}.landing-image-stack .stack-cutout{position:absolute;bottom:0;left:0;width:85%;height:100%;object-fit:contain;object-position:bottom;filter:drop-shadow(4px 0 16px rgba(0,0,0,0.18));transition:transform 0.24s ease;transform:translate(calc(var(--parallax-x) * -0.32),calc(var(--parallax-y) * -0.24))}.landing-image-stack .stack-mon{position:absolute;bottom:0.75rem;right:0;width:100%;height:auto;opacity:0.15;filter:drop-shadow(0 2px 8px rgba(183,28,28,0.35));transition:transform 0.24s ease;transform:translate(calc(var(--parallax-x) * 0.24),calc(var(--parallax-y) * 0.18))}.landing-animate-in .landing-reveal{opacity:0;transform:translateY(14px);animation:landingFadeUp 980ms ease forwards}.landing-animate-in .landing-reveal-1{animation-delay:90ms}.landing-animate-in .landing-reveal-2{animation-delay:190ms}.landing-animate-in .landing-reveal-3{animation-delay:290ms}.landing-animate-in .landing-reveal-4{animation-delay:390ms}.landing-animate-in .landing-reveal-5{animation-delay:490ms}.landing-animate-in .landing-reveal-6{animation-delay:590ms}@keyframes landingFadeUp{to{opacity:1;transform:translateY(0)}}.landing-principles{display:flex;justify-content:center;align-items:center;gap:3.5rem;padding:2.6rem 3.8rem 3.4rem;border-top:1px solid var(--color-border-light)}.landing-principle{display:flex;flex-direction:column;align-items:center;text-align:center;gap:0.45rem;font-family:var(--font-sans)}.landing-principle-kanji{display:inline-flex;align-items:center;justify-content:center;background:var(--color-primary-light);color:#fff;border-radius:999px;padding:0.45rem 1rem;min-height:2.7rem;font-size:1.25rem;line-height:1.1;margin-bottom:0.45rem}.landing-principle-roman{font-size:0.78rem;font-style:italic;color:var(--color-text-muted)}.landing-principle-nl{font-size:0.95rem;font-weight:lighter;color:var(--color-primary-light)}.landing-hub{border-top:1px solid var(--color-border-light);padding:2.8rem 3.8rem 3.6rem;background:linear-gradient(180deg,rgba(255,255,255,0.58) 0%,rgba(255,255,255,0) 100%)}.landing-hub h2{margin:0 0 1.35rem;font-size:1.3rem;letter-spacing:0.01em;color:var(--color-primary-dark)}.landing-hub-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem}.landing-hub-card{background:var(--color-primary-bg-subtle);border:1px solid rgba(183,28,28,0.15);border-radius:14px;padding:1.25rem 1.3rem 1.35rem;box-shadow:0 2px 10px rgba(0,0,0,0.05);transition:transform 0.18s ease,box-shadow 0.18s ease,border-color 0.18s ease;position:relative}.landing-hub-card::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;border-radius:12px 12px 0 0;background:linear-gradient(90deg,var(--color-primary-light) 0%,rgba(183,28,28,0.18) 100%)}.landing-hub-card:hover{transform:translateY(-3px);border-color:rgba(183,28,28,0.34);box-shadow:0 8px 20px rgba(0,0,0,0.1)}.landing-hub-card h3{margin:0 0 0.7rem;font-size:1.02rem;color:var(--color-primary-dark);line-height:1.3}.landing-hub-meta{margin:0 0 0.5rem;font-family:var(--font-sans);font-size:0.72rem;font-weight:700;letter-spacing:0.05em;text-transform:uppercase;color:var(--color-primary-light)}.landing-hub-description{margin:0 0 1rem;font-size:0.92rem;color:var(--color-text-light);line-height:1.56}.landing-hub-takeaway{margin:0 0 1rem;padding:0.55rem 0.65rem;border-radius:8px;border:1px solid rgba(183,28,28,0.14);background:rgba(255,255,255,0.58);font-family:var(--font-sans);font-size:0.78rem;line-height:1.45;color:var(--color-text)}.landing-hub-takeaway strong{color:var(--color-primary-dark)}.landing-hub-card a{display:inline-flex;align-items:center;gap:0.35rem;font-family:var(--font-sans);font-size:0.88rem;font-weight:600;text-decoration:none;color:var(--color-primary);transition:gap 0.15s ease,color 0.15s ease}.landing-hub-card a:hover{color:var(--color-primary-dark);text-decoration:underline;gap:0.5rem}.landing-hub-card a:focus-visible{outline:2px solid rgba(183,28,28,0.5);outline-offset:2px;border-radius:4px}.btn-primary{display:inline-block;padding:0.85rem 2.5rem;background:var(--color-primary);color:#fff !important;text-decoration:none;border-radius:8px;font-family:var(--font-sans);font-size:1.05rem;font-weight:600;transition:background 0.2s,box-shadow 0.2s,color 0.2s;box-shadow:0 2px 8px rgba(183,28,28,0.2)}.btn-primary:hover{background:var(--color-primary-light);color:#fff !important;box-shadow:0 4px 16px rgba(183,28,28,0.35)}.btn-secondary{display:inline-block;padding:0.6rem 1.4rem;background:transparent;color:var(--color-primary) !important;text-decoration:none;border-radius:8px;border:2px solid var(--color-primary-light);font-family:var(--font-sans);font-size:0.9rem;font-weight:600;transition:background 0.2s,border-color 0.2s,color 0.2s}.btn-secondary:hover{background:var(--color-primary-bg);border-color:var(--color-primary);color:var(--color-primary-dark) !important}.dojo-photos{display:grid;grid-template-columns:repeat(3,1fr);gap:0.75rem;margin:1.75rem 0 2rem;border-radius:10px;overflow:hidden}.dojo-photos img{width:100%;height:200px;object-fit:cover;object-position:center;display:block;transition:transform 0.3s ease}.dojo-photos img:hover{transform:scale(1.03);z-index:1;position:relative}.dojo-location-label{font-size:0.78rem;font-weight:400;color:var(--color-text-muted)}.dojo-schedule td,.dojo-schedule th{text-align:center}.dojo-schedule .dojo-age{text-align:left;font-weight:600;white-space:nowrap}.dojo-schedule .dojo-off{color:var(--color-text-muted)}.dojo-schedule-note{font-size:0.88rem;color:var(--color-text-light);margin-top:-0.5rem}.dojo-locations{display:flex;gap:1.5rem;margin:1.5rem 0 2rem;flex-wrap:wrap}.dojo-location-card{flex:1 1 220px;background:var(--color-primary-bg-subtle);border:1px solid var(--color-border);border-radius:10px;padding:1.25rem 1.5rem}.dojo-location-card h3{margin-top:0;font-size:1.05rem;color:var(--color-primary-dark)}.dojo-location-card p{margin-bottom:0.5rem}.dojo-days{font-family:var(--font-sans);font-size:0.85rem;color:var(--color-primary);font-weight:600}.dojo-map-link{font-family:var(--font-sans);font-size:0.85rem}.dojo-cta{margin-top:2.5rem;padding:1.5rem;background:var(--color-primary-bg);border-radius:10px;display:flex;align-items:center;gap:2rem;flex-wrap:wrap}.dojo-cta p{margin:0;flex:1 1 200px}.contact-form{max-width:560px;margin:1.5rem 0}.contact-form .form-row{display:flex;gap:1rem}.contact-form .form-row .form-group{flex:1}.contact-form .form-group{margin-bottom:1.1rem}.contact-form label{display:block;margin-bottom:0.4rem;font-family:var(--font-sans);font-weight:600;font-size:0.9rem;color:var(--color-primary-dark)}.contact-form .required-mark{color:var(--color-primary-light);margin-left:0.15rem}.contact-form input[type='text'],.contact-form input[type='email'],.contact-form textarea{width:100%;padding:0.7rem 0.85rem;border:1px solid var(--color-border);border-radius:8px;background:#fff;color:var(--color-text);font-family:var(--font-sans);font-size:0.95rem;transition:border-color 0.15s,box-shadow 0.15s}.contact-form input[type='text']:focus,.contact-form input[type='email']:focus,.contact-form textarea:focus{outline:none;border-color:var(--color-primary-light);box-shadow:0 0 0 3px rgba(183,28,28,0.12)}.contact-form textarea{resize:vertical;min-height:140px}.contact-error{margin-bottom:1rem;padding:0.75rem 1rem;background:#fff0f3;border:1px solid #f5c6cb;border-radius:6px;font-family:var(--font-sans);font-size:0.9rem;color:#b00020}.contact-success{padding:1.5rem;background:var(--color-primary-bg);border-radius:10px;font-family:var(--font-sans)}.contact-success p:last-child{margin-bottom:0}.contact-hp{display:none !important}.site-footer{padding:2.4rem var(--spacing) 1.7rem;font-family:var(--font-sans);color:var(--color-text-light);border-top:1px solid var(--color-border-light);background:#f7f7f7}body:not(.page-landing) .site-footer{margin-top:1.1rem;margin-left:calc(var(--sidebar-width) + 1.5rem);margin-right:1rem;margin-bottom:0.75rem;background:#f7f7f7;border-top:0;border-radius:16px;box-shadow:0 8px 26px rgba(0,0,0,0.12),0 2px 8px rgba(0,0,0,0.06);max-width:calc(var(--content-max) + 4rem)}.site-footer-main{display:grid;grid-template-columns:7fr 3fr;gap:1.6rem;align-items:stretch}.site-footer-about,.site-footer-disclaimer{border:1px solid;border-radius:12px;padding:1.25rem 1.3rem}.site-footer-about{background:var(--color-primary-bg-subtle);border-color:rgba(183,28,28,0.2);box-shadow:0 3px 16px rgba(0,0,0,0.04)}.site-footer-disclaimer{background:rgba(228,228,228,0.68);border-color:rgba(0,0,0,0.1);box-shadow:inset 0 1px 0 rgba(255,255,255,0.45)}.site-footer-about h2,.site-footer-disclaimer h2{margin:0 0 0.65rem;font-size:0.92rem;color:var(--color-primary-dark)}.site-footer-about-content{display:grid;grid-template-columns:92px 1fr;gap:1.05rem;align-items:start}.site-footer-avatar{display:block;width:92px;height:92px;border-radius:10px;border:1px solid rgba(127,0,0,0.24);object-fit:cover;object-position:center top;box-shadow:inset 0 0 0 1px rgba(255,255,255,0.7)}.site-footer-about-name{margin:0 0 0.3rem;font-weight:700;color:var(--color-primary-dark)}.site-footer-about-text,.site-footer-disclaimer p{margin:0;font-size:0.82rem;line-height:1.55}.site-footer-about-link{margin:0.6rem 0 0;font-size:0.82rem}.site-footer-about-link a{font-family:var(--font-sans);font-weight:600;text-decoration:none;color:var(--color-primary)}.site-footer-about-link a:hover{color:var(--color-primary-dark);text-decoration:underline}.site-footer-disclaimer p{font-size:0.72rem;line-height:1.4}.site-footer-disclaimer{color:#6a6a6a}.site-footer-disclaimer h2{color:#5c5c5c}.site-footer-disclaimer p + p{margin-top:0.65rem}.site-footer-copyright{margin-top:0.85rem;min-height:1.8rem;display:flex;align-items:center;justify-content:center;font-size:0.78rem;line-height:1.2;color:var(--color-text-muted);text-align:center;margin-bottom:0rem}.page-404 .chapter{text-align:center;padding:4rem 0}.page-403 .chapter{max-width:540px;margin:0 auto;padding:2.5rem 2rem;border:1px solid var(--color-border);border-radius:12px;background:var(--color-primary-bg-subtle)}.unlock-form{margin:1.5rem 0 1rem}.unlock-form label{display:block;margin-bottom:0.5rem;font-family:var(--font-sans);font-weight:600;color:var(--color-primary-dark)}.unlock-form input[type='password']{width:100%;padding:0.75rem 0.85rem;margin-bottom:0.9rem;border:1px solid var(--color-border);border-radius:8px;background:#fff;color:var(--color-text);font-family:var(--font-sans);font-size:1rem}.unlock-form input[type='password']:focus{outline:none;border-color:var(--color-primary-light);box-shadow:0 0 0 3px rgba(183,28,28,0.15)}.unlock-form .btn-primary{width:100%;border:0;cursor:pointer}.unlock-form .btn-primary:disabled{opacity:0.7;cursor:wait}.unlock-error{margin-top:0.8rem;margin-bottom:0;font-family:var(--font-sans);color:#b00020}.chapter::after,article::after,section::after{content:'';display:table;clear:both}article.chapter{position:relative;overflow:hidden}article.chapter[data-kanji]::before{content:attr(data-kanji);position:absolute;top:0rem;right:0.6rem;font-family:var(--font-jp),var(--font-serif);font-size:7rem;line-height:1;color:var(--color-primary);opacity:0.2;writing-mode:vertical-rl;pointer-events:none;user-select:none;z-index:0}.spine-sticky-wrapper{position:absolute;right:0;top:0;bottom:0;width:2.25rem;pointer-events:none;z-index:10}.chapter-spine{position:sticky;top:calc(50vh - 30vh);height:60vh;width:2.25rem;display:flex;align-items:center;justify-content:center;writing-mode:vertical-rl;text-orientation:mixed;font-family:var(--font-jp),var(--font-serif);font-size:0.65rem;letter-spacing:0.2em;color:var(--color-primary-dark);opacity:0.25;border-left:1px solid rgba(183,28,28,0.2);pointer-events:none;user-select:none;overflow:hidden;white-space:nowrap}@media (max-width:900px){:root{--sidebar-width:260px}.sidebar{transform:translateX(calc(-100% - 0.75rem))}.sidebar.open{transform:translateX(0);box-shadow:0 4px 24px rgba(0,0,0,0.35)}.nav-toggle{display:flex}.main-wrapper{margin-left:0;margin:0;border-radius:0;box-shadow:none}body:not(.page-landing) .site-footer{margin:0;border-radius:0;box-shadow:none;max-width:100%}main.content{padding-top:4rem}.chapter-spine,.spine-sticky-wrapper{display:none}.chapter-mini-toc{right:0.75rem;left:0.75rem;bottom:4rem;width:auto;max-height:50vh}.chapter-mini-toc-toggle{right:0.75rem;bottom:0.75rem}.principe{float:none;width:auto;margin:1.5rem 0;padding:1rem;background:var(--color-primary-bg-subtle);border-radius:8px}}@media (max-width:600px){html{font-size:15px}main.content{padding:3.5rem 1rem 3rem}.subfigure{max-width:100%;display:block;margin:0.5rem auto}.wrap-r,[style*="float:right"],.wrapfig-r,.wrap-l,[style*="float:left"],.wrapfig-l{float:none;max-width:100%;margin:1rem 0}.wrapfig-o{max-width:100%}.chapter-nav{flex-direction:column;align-items:stretch}.chapter-nav-prev,.chapter-nav-next{text-align:center}table{font-size:0.82rem}th,td{padding:0.4rem 0.5rem}.dojo-photos{grid-template-columns:1fr}.dojo-photos img{height:180px}.landing-title{font-size:1.8rem}.landing-hero{flex-direction:column;gap:2rem;padding:2.5rem 1.5rem;text-align:center}.page-landing{padding:0.5rem;gap:0.6rem}.landing-card{width:100%;border-radius:16px;min-height:auto}.page-landing>.site-footer{width:100%;border-radius:16px}.landing-hero-text{flex:none}.landing-tagline{max-width:none}.landing-proof{justify-content:center;text-align:center}.landing-proof li + li::before{display:none}.landing-hero-image{flex:none;width:100%}.landing-hero-image img{max-width:280px}.landing-mon{width:60px;height:60px}.landing-principles{gap:1.75rem;padding:1.8rem 1.6rem 2.3rem}.landing-principle-nl{font-size:0.85rem}.landing-hub{padding:1.9rem 1.6rem 2.35rem}.landing-hub-grid{grid-template-columns:1fr;gap:0.95rem}.site-footer-main{grid-template-columns:1fr;gap:1rem}.site-footer-about-content{grid-template-columns:68px 1fr;gap:0.75rem}.site-footer-avatar{width:68px;height:68px}}@media print{.sidebar,.nav-toggle,.chapter-nav,.site-footer{display:none}main.content{margin-left:0;max-width:100%}body{font-size:11pt}}.crosslinks,.likesectionHead + .sectionHead{display:none}img{max-width:100%;height:auto}.ltx_caption,.td-caption{font-family:var(--font-sans);font-size:0.82rem;color:var(--color-text-light)}.bib-link{color:var(--color-primary);text-decoration:underline;text-underline-offset:2px;word-break:break-all}.bib-link:hover{color:var(--color-primary-dark,#5a2d8a)}.waza-arrow{display:inline-block;margin-left:0.45em;color:var(--color-primary-light);text-decoration:none;font-style:normal;font-size:0.9em;opacity:0.7;transition:opacity 0.15s,transform 0.15s}.waza-arrow:hover{opacity:1;transform:translateX(3px);text-decoration:none;color:var(--color-primary)}h4.likesubsectionHead,h3.sectionHead{scroll-margin-top:4rem}.glossary-term{border-bottom:1px dotted var(--color-primary-light);cursor:help;position:relative}.glossary-popup{display:none;position:fixed;background:var(--color-bg-dark,#2c2c2c);color:#fff;padding:0.55em 0.85em 0.5em;border-radius:6px;font-size:0.85rem;white-space:normal;min-width:190px;max-width:280px;z-index:9999;pointer-events:auto;box-shadow:0 3px 12px rgba(0,0,0,0.35);line-height:1.5}.glossary-popup-row{display:flex;align-items:baseline;gap:0.4em;margin-bottom:0.1em}.glossary-flag{flex-shrink:0;font-style:normal;font-size:1em}.glossary-jp{font-style:italic;color:#ccc}.glossary-nl{color:#fff}.glossary-link{display:block;margin-top:0.45em;padding-top:0.35em;border-top:1px solid rgba(255,255,255,0.15);color:var(--color-primary-light,#b99fd8);font-size:0.78rem;text-decoration:none;text-align:right;pointer-events:auto}.glossary-link:hover{text-decoration:underline}.glossary-popup.glossary-popup-open{display:block}
