@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;600;700&family=Noto+Serif+JP:wght@500;600;700&display=swap');
:root{color-scheme:light;--navy:#102834;--ink:#17313d;--muted:#596d73;--paper:#fbf8ef;--rule:#d7d2c6;--accent:#b27a48;font-family:'Noto Sans JP',system-ui,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#102834;color:var(--ink);overflow-x:hidden}button,a{font:inherit}button{cursor:pointer}a{color:inherit}:focus-visible{outline:3px solid #d59a5f;outline-offset:3px}.skip{position:absolute;top:-100px;left:12px;padding:10px;background:#fff;z-index:20}.skip:focus{top:12px}
.site-head{display:flex;justify-content:space-between;gap:20px;align-items:center;min-height:58px;padding:12px max(20px,calc((100vw - 1290px)/2));color:#dce7e7;font-size:11px;letter-spacing:.13em;border-bottom:1px solid #34505b}.site-head a{text-decoration:none;letter-spacing:0;font-size:13px}.site-head a:hover{text-decoration:underline}
.manual{max-width:1320px;margin:auto;padding:clamp(22px,3vw,40px) clamp(12px,2vw,26px) 70px}.intro{display:flex;align-items:end;justify-content:space-between;gap:30px;color:#f0f2e9;margin:0 0 28px;padding:0 46px}.eyebrow{margin:0 0 9px;font-size:11px;color:#cfaa78;letter-spacing:.18em;font-weight:700}.intro h1{font:600 clamp(30px,3.3vw,47px)/1.32 'Noto Serif JP',serif;letter-spacing:.04em;margin:0}.intro>p{font-size:13px;line-height:1.9;color:#c6d7d4;max-width:36em;margin:0 0 4px}
.reader{padding:14px 26px 18px;background:linear-gradient(145deg,#203d49,#102d3b);border:1px solid #41606b;box-shadow:0 28px 55px #03141a80}.reader-bar,.reader-foot{display:flex;justify-content:space-between;align-items:center;gap:15px;color:#d4e1df}.reader-bar{min-height:42px;padding:0 27px 10px}.reader-bar strong{font:600 13px/1.4 'Noto Serif JP',serif}.reader-kicker,.reader-bar>span:last-child{font-size:11px;letter-spacing:.12em}.book-shell{position:relative;padding:0 25px}.spread{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);position:relative;min-height:660px;background:var(--paper);box-shadow:0 16px 28px #061a22b8,0 2px 3px #0005;perspective:1800px;isolation:isolate}.spread:after{content:'';position:absolute;z-index:2;left:calc(50% - 11px);top:0;width:22px;height:100%;pointer-events:none;background:linear-gradient(90deg,#716a5b30,#211d1640 42%,#f9f6ec70 60%,transparent)}.paper{min-width:0;min-height:660px;position:relative;background:linear-gradient(95deg,#f7f3e8,var(--paper) 12%,var(--paper) 92%,#e9e4d7);overflow:hidden}.paper.left{box-shadow:inset -7px 0 10px #8d877522}.paper.right{box-shadow:inset 8px 0 12px #8d87751c}.page-content{position:relative;min-height:660px;padding:27px clamp(24px,3.2vw,49px) 41px;display:flex;flex-direction:column}.chapter{font-size:10px;font-weight:700;letter-spacing:.16em;color:#a07144;border-bottom:1px solid var(--rule);padding-bottom:12px;margin-bottom:20px}.page-content h2{font:600 clamp(23px,2.35vw,32px)/1.4 'Noto Serif JP',serif;letter-spacing:.035em;line-break:strict;word-break:keep-all;overflow-wrap:anywhere;margin:0 0 12px}.page-lead{font-size:13px;line-height:1.75;font-weight:500;margin:0 0 15px;color:#354d55}.page-note{font-size:13px;line-height:1.85;margin:13px 0}.folio{position:absolute;bottom:15px;left:clamp(24px,3.2vw,49px);font:600 12px Georgia,serif;color:#9d7e58}.paper.right .folio{left:auto;right:clamp(24px,3.2vw,49px)}
.visual{margin:0 0 15px;min-width:0}.visual.photo{display:flex;flex-direction:column;align-items:center;justify-content:center;background:#e8ece7;border:1px solid #d4dcd7;height:190px;padding:8px}.visual.photo a{display:flex;align-items:center;justify-content:center;flex:1;min-height:0;max-width:100%;width:100%}.visual.photo img{display:block;max-width:100%;max-height:150px;width:auto;height:auto;object-fit:contain}.visual figcaption{font-size:10px;color:#697d80;line-height:1.3;margin-top:6px}.diagram{border:1px solid #b9cfcb;background:#ecf3ef;height:190px;display:flex;flex-direction:column}.window-top{height:27px;background:#173d50;color:#c8dfda;display:flex;align-items:center;gap:5px;padding:0 10px}.window-top i{width:5px;height:5px;border-radius:50%;background:#8cabaf}.window-top b{font-size:8px;letter-spacing:.1em;font-weight:600;margin-left:8px}.diagram-body{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;padding:11px 12px 4px;flex:1;align-content:center}.diagram-row{display:flex;align-items:center;gap:7px;min-width:0;background:#fff;padding:6px 8px;border-left:2px solid #b8c8c5;font-size:10px;line-height:1.3;color:#344d54}.diagram-row.on{background:#cee4dc;border-left-color:#b97842;font-weight:700}.diagram-index{font:700 9px Georgia,serif;color:#a4723e}.diagram figcaption{padding:0 12px 5px;margin:0}.diagram.search .diagram-row:nth-child(3),.diagram.chart .diagram-row:first-child{grid-column:1/-1}.diagram.status .diagram-row:last-child{background:#e7d8c4}.diagram.empty .diagram-row:nth-child(2){color:#9c583d}
.instruction{margin:0 0 10px}.instruction-label{font-size:10px;color:#9b6d43;font-weight:700;letter-spacing:.12em}.instruction ol{list-style:none;counter-reset:step;margin:7px 0 0;padding:0;display:grid;gap:6px}.instruction li{counter-increment:step;display:grid;grid-template-columns:21px 1fr;gap:7px;align-items:start;font-size:11px;line-height:1.55}.instruction li:before{content:counter(step);display:grid;place-items:center;width:17px;height:17px;background:#1d4c59;color:white;border-radius:50%;font-size:10px;font-family:Georgia,serif}.read-box{display:flex;flex-direction:column;gap:4px;margin:5px 0 0;padding:9px 12px;background:#e9eee9;border-left:3px solid #b9824c;font-size:10px;line-height:1.6;color:#476068}.read-box strong{font-size:10px;color:#1e4551}.page-link{display:inline-block;align-self:flex-start;color:#fff;background:#174b5c;text-decoration:none;font-size:11px;font-weight:700;margin:10px 0 0;padding:8px 11px}.page-link:hover{text-decoration:underline;background:#1f6372}
.cover{background:#113b4d;color:#fff;overflow:hidden}.cover .chapter{color:#d8b782;border-color:#567886}.cover h2{font:600 clamp(35px,4.5vw,65px)/1.05 Georgia,serif;letter-spacing:.035em;margin:32px 0 20px;overflow-wrap:normal}.cover-text>p{font:600 clamp(18px,2vw,25px)/1.6 'Noto Serif JP',serif}.cover-small{display:block;font-size:11px;line-height:1.8;color:#b6d5d5;margin-top:18px}.cover .visual.photo{margin-top:auto;height:260px;border:0;background:radial-gradient(circle,#27677d,#10384b 70%)}.cover .visual.photo img{max-height:225px;mix-blend-mode:screen}.cover .visual figcaption{display:none}.cover .folio{color:#d8b782}.toc-page h2{margin:8px 0 15px}.mini-toc{list-style:none;counter-reset:toc;padding:0;margin:25px 0}.mini-toc li{counter-increment:toc;padding:16px 0;border-top:1px solid #d5d2c7;font-size:13px;font-weight:600}.mini-toc li:before{content:'0' counter(toc);font-family:Georgia,serif;color:#a87a4e;margin-right:17px}.toc-page .read-box{margin-top:auto}
.edge{position:absolute;z-index:5;top:50%;transform:translateY(-50%);height:66px;width:42px;border:1px solid #698997;color:#fff;background:#183f4e;font:400 32px/1 Georgia,serif;box-shadow:0 5px 14px #0005}.edge:hover:not(:disabled){background:#2d6c7a}.edge:disabled{opacity:.32;cursor:default}.edge-left{left:-11px}.edge-right{right:-11px}.reader-foot{padding:15px 27px 0;font-size:10px}.progress{height:3px;background:#59737a;flex:1;max-width:360px}.progress span{display:block;height:100%;background:#d49c64;transition:width .5s}
.turn-sheet{position:absolute;z-index:4;top:0;right:0;width:50%;height:100%;transform-style:preserve-3d;transform-origin:left center}.turn-sheet[hidden]{display:none}.turn-front,.turn-back{position:absolute;inset:0;backface-visibility:hidden;overflow:hidden;background:var(--paper);box-shadow:0 0 16px #14212a55}.turn-back{transform:rotateY(180deg)}.turn-sheet.forward{animation:turn-forward .85s cubic-bezier(.5,.08,.25,1) both}.turn-sheet.backward{left:0;right:auto;transform-origin:right center;animation:turn-backward .85s cubic-bezier(.5,.08,.25,1) both}.turn-sheet .page-content{min-height:660px}@keyframes turn-forward{0%{transform:rotateY(0)}50%{transform:rotateY(-91deg);filter:brightness(.84)}100%{transform:rotateY(-180deg)}}@keyframes turn-backward{0%{transform:rotateY(0)}50%{transform:rotateY(91deg);filter:brightness(.84)}100%{transform:rotateY(180deg)}}
.contents{color:#dbe7e3;border:1px solid #46636d;margin:22px 46px 0}.contents summary{padding:15px 18px;display:flex;justify-content:space-between;cursor:pointer;font-size:13px;font-weight:700;list-style:none}.contents summary::-webkit-details-marker{display:none}.contents[open] summary span{transform:rotate(45deg)}.contents nav{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:#496572}.contents button{border:0;background:#183d4b;color:#dce9e4;padding:11px 10px;text-align:left;font-size:11px;line-height:1.5}.contents button:hover,.contents button[aria-current=page]{background:#e0e9e3;color:#1a3e4b}.contents button span{font-family:Georgia,serif;color:#c29869;margin-right:9px}.contents button[aria-current=page] span{color:#855a31}.under-book{display:flex;justify-content:space-between;gap:20px;align-items:center;color:#c0d3d0;padding:24px 46px 0}.under-book p{font-size:11px;line-height:1.8;max-width:67em;margin:0}.under-book a{white-space:nowrap;color:#fff;border-bottom:1px solid #a9c8c5;text-decoration:none;font-size:12px}.under-book a:hover{color:#f0bd82}footer{color:#a8c2c3;border-top:1px solid #385560;text-align:center;font-size:10px;padding:20px}
@media(max-width:1000px){.reader{padding:12px}.book-shell{padding:0 22px}.spread,.paper,.page-content,.turn-sheet .page-content{min-height:690px}.page-content{padding-inline:22px}.page-content h2{font-size:23px}.page-lead{font-size:12px}.instruction li{font-size:10px}.visual.photo{height:180px}.visual.photo img{max-height:142px}.diagram{height:180px}.read-box{font-size:9px}.folio{left:22px}.paper.right .folio{right:22px}}
@media(max-width:760px){.intro{padding:0 8px;display:block}.intro>p{margin-top:13px}.reader{padding:8px}.reader-kicker{display:none}.reader-bar{padding-inline:8px}.reader-bar strong{font-size:12px}.book-shell{padding:0 25px}.spread{display:block;background:transparent;box-shadow:none;min-height:0}.spread:after{display:none}.spread[data-mobile-side=left] .paper.right,.spread[data-mobile-side=right] .paper.left{display:none}.paper{min-height:0;box-shadow:0 8px 17px #00141a75!important}.page-content,.turn-sheet .page-content{min-height:0;padding:28px clamp(24px,6vw,46px) 46px}.cover{min-height:560px}.cover .visual.photo{height:260px}.page-content h2{font-size:clamp(25px,6vw,32px)}.page-lead{font-size:14px}.visual.photo{height:230px}.visual.photo img{max-height:187px}.diagram{height:220px}.diagram-row{font-size:11px}.instruction li{font-size:12px}.read-box{font-size:11px}.edge{height:52px;width:35px}.edge-left{left:0}.edge-right{right:0}.reader-foot{padding-inline:8px}.reader-foot>span:first-child{display:none}.contents{margin:18px 8px 0}.contents nav{grid-template-columns:repeat(2,minmax(0,1fr))}.under-book{padding:20px 8px 0;display:block}.under-book a{display:inline-block;margin-top:12px}.folio{left:clamp(24px,6vw,46px)}.paper.right .folio{right:clamp(24px,6vw,46px)}}
@media(max-width:430px){.site-head span{display:none}.manual{padding-inline:5px}.book-shell{padding-inline:20px}.page-content{padding-inline:21px}.cover h2{font-size:42px}.visual.photo{height:205px}.visual.photo img{max-height:165px}.diagram{height:205px}.diagram-row{font-size:10px}.contents nav{grid-template-columns:1fr}.reader-bar>span:last-child{font-size:10px}.folio{left:21px}.paper.right .folio{right:21px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.progress span{transition:none}.turn-sheet.forward,.turn-sheet.backward{animation:none}}
@media print{body{background:#fff}.site-head,.intro,.reader-bar,.reader-foot,.edge,.contents,.under-book,footer{display:none!important}.manual{padding:0;max-width:none}.reader{padding:0;background:none;border:0;box-shadow:none}.book-shell{padding:0}.spread{display:block;box-shadow:none}.paper{box-shadow:none!important;break-after:page;min-height:0}.page-content{min-height:0;page-break-after:always}.visual.photo{break-inside:avoid}}
/* The book engine draws both sides and the curved fold; the reader controls stay outside it. */
.book-shell{display:flex;align-items:center;justify-content:center;min-width:0;min-height:0}
.flip-book{position:relative;flex:none;max-width:100%;margin-inline:auto;--page-height:720px}
.book-page{width:100%;height:var(--page-height);overflow:hidden;background:var(--paper);box-shadow:inset 0 0 12px #635a4420}
.book-page .page-content{height:100%;min-height:0}
.book-page .cover{min-height:0}
.book-page.--left .folio{left:clamp(24px,3.2vw,49px);right:auto}
.book-page.--right .folio{left:auto;right:clamp(24px,3.2vw,49px)}
.book-page .page-content h2,.book-page .page-lead{line-break:strict;word-break:normal;text-wrap:balance}
.book-page .page-content{line-break:strict}
.book-page .instruction li,.book-page .read-box,.book-page .page-note{word-break:normal;text-wrap:pretty}
.book-page .page-lead .lead-phrase{white-space:nowrap}
.book-page h2 .title-phrase{white-space:nowrap}
.intro>p span{display:block;text-wrap:pretty;line-break:strict}
@media(min-width:900px){
  .book-page .page-content:not(.cover):not(.toc-page) .page-lead{min-height:3.5em}
  .book-page .page-content:not(.cover):not(.toc-page) .instruction{min-height:117px}
  .book-page .page-content:not(.cover):not(.toc-page) .read-box{min-height:70px}
}
@media(min-width:900px) and (max-width:980px){
  .book-page .page-content:not(.cover):not(.toc-page) h2{min-height:2.8em}
}
@media(max-width:760px){.book-shell{padding-inline:20px}.flip-book{max-width:100%}.book-page .page-content{min-height:0}.book-page .folio,.book-page.--left .folio,.book-page.--right .folio{left:clamp(24px,6vw,46px);right:auto}}
/* Maritime blue accents keep the book's warm paper legible. */
:root{--accent:#367eaa;--rule:#cbd9e1}
.reader{background:linear-gradient(145deg,#174761,#0d2d47);border-color:#3e6981}
.chapter,.instruction-label{color:#39779b}
.visual.photo{background:#eaf3f8;border-color:#c5d9e5}
.diagram{background:#edf5f9;border-color:#afccdc}
.window-top{background:#165071;color:#d9ecf5}
.diagram-row{border-left-color:#aac8d7;color:#29485b}
.diagram-row.on{background:#cce6f3;border-left-color:#3384b0}
.diagram.status .diagram-row:last-child{background:#d9eaf4}
.read-box{background:#e9f2f8;border-left-color:#4489b3;color:#34576a}
.read-box strong{color:#164a68}
.instruction li:before{background:#1e6385}
.page-link{background:#165b80}
.page-link:hover{background:#25749b}
.progress span{background:#64a9d0}
.contents button[aria-current=page]{background:#dbeef7;color:#153e59}
.cover{background:#083e5f}
.cover .visual.photo{background:radial-gradient(circle,#2d7fa4,#083e5f 70%)}
