:root{color-scheme:light;--paper:#fffaf1;--cream:#f8f0e2;--white:#fff;--orange:#ef641e;--orange-dark:#cf4d12;--brown:#47291d;--muted:#88766c;--line:#eadbc8;--green:#57775f;font-family:-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Noto Sans JP",Meiryo,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:82px}body{margin:0;background:var(--paper);color:var(--brown)}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit}.site-header{height:74px;padding:0 max(20px,calc((100vw - 1180px)/2));display:flex;align-items:center;justify-content:space-between;background:rgba(255,255,255,.88);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:5;backdrop-filter:blur(12px)}.brand{display:flex;align-items:center;gap:10px;text-decoration:none}.brand-mark{display:block;flex:0 0 auto;width:42px;height:42px;object-fit:cover;border-radius:13px;background:#fff}.brand strong,.brand small{display:block}.brand strong{font-size:16px;letter-spacing:.04em}.brand small{font-size:11px;color:var(--muted);margin-top:2px}.app-link,.primary-link{display:inline-flex;align-items:center;gap:9px;text-decoration:none;font-size:14px;font-weight:700}.app-link{padding:10px 16px;border:1px solid #f1c3a8;color:var(--orange-dark);border-radius:999px;background:#fff}.intro{max-width:1180px;margin:0 auto;padding:64px 24px 58px;text-align:center;background:radial-gradient(ellipse at 50% 5%,#ffebd4 0,transparent 55%)}.eyebrow,.reader-kicker,.toc-heading>span{font-size:11px;letter-spacing:.18em;color:var(--orange);font-weight:800}.intro h1{font-size:clamp(30px,5vw,54px);line-height:1.38;letter-spacing:.04em;margin:12px 0;color:var(--brown)}.intro h1 em{font-style:normal;color:var(--orange)}.intro-copy{color:var(--muted);font-size:15px;margin:14px 0 22px}.primary-link{background:var(--orange);color:#fff;border-radius:999px;padding:13px 23px;box-shadow:0 7px 18px #e870302b}.guide-layout{max-width:1180px;margin:0 auto;padding:0 24px 56px;display:grid;grid-template-columns:260px minmax(0,1fr);gap:28px;align-items:start}.toc,.reader{background:var(--white);border:1px solid var(--line);border-radius:24px;box-shadow:0 12px 32px #6a3e1910}.toc{position:sticky;top:94px;padding:22px 16px;max-height:calc(100vh - 116px);overflow:auto}.toc-heading{padding:0 8px 14px}.toc-heading h2{font-size:21px;margin:5px 0}.toc-group{margin:0 0 9px}.toc-group-title{font-size:11px;letter-spacing:.06em;color:var(--muted);padding:8px 9px 5px;font-weight:700}.toc-page{width:100%;border:0;background:transparent;text-align:left;color:var(--brown);font:inherit;font-size:13px;padding:9px;border-radius:10px;cursor:pointer;min-height:40px}.toc-page:hover,.toc-page[aria-current="page"]{background:#fff0e4;color:var(--orange-dark)}.toc-page[aria-current="page"]{font-weight:750}.toc-app-link{display:block;margin:14px 6px 0;padding:12px 10px;border-radius:12px;text-align:center;text-decoration:none;background:#f6f2e9;color:var(--green);font-size:12px;font-weight:700}.reader{padding:clamp(14px,3vw,28px)}.reader-top{display:flex;align-items:end;justify-content:space-between;gap:15px;padding:0 2px 16px}.reader-top h2{font-size:clamp(19px,3vw,26px);margin:4px 0 0}.page-count{font-size:14px;font-weight:800;color:var(--orange);background:#fff0e4;border-radius:999px;padding:8px 12px;white-space:nowrap}.page-frame{background:#f4eee5;border-radius:16px;overflow:hidden;line-height:0;touch-action:pan-y}.image-button{display:block;width:100%;border:0;padding:0;background:transparent;cursor:zoom-in;line-height:0}.image-button img{display:block;width:100%;height:auto;max-height:min(78vh,1180px);object-fit:contain;margin:0 auto}.page-note{margin:12px 0 0;padding:10px 13px;border-radius:10px;background:#fff6e8;color:#7a4b2d;font-size:13px;line-height:1.6}.reader-controls{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:10px;padding-top:18px}.nav-button,.contents-button{min-height:46px;border-radius:13px;font:inherit;font-size:14px;font-weight:700;cursor:pointer}.nav-button{border:1px solid #ebc8b2;background:#fff;color:var(--orange-dark);padding:0 14px}.nav-button:last-child{justify-self:end}.nav-button:disabled{opacity:.38;cursor:default}.contents-button{border:0;background:transparent;color:var(--muted);padding:0 10px}.swipe-hint{text-align:center;color:#a08f84;font-size:11px;margin:12px 0 0}.site-footer{max-width:1180px;margin:auto;padding:0 24px 30px;display:flex;justify-content:space-between;color:var(--muted);font-size:12px}.site-footer a{color:var(--orange-dark);text-decoration:none}dialog{border:0;border-radius:18px;padding:48px 12px 12px;max-width:min(96vw,960px);max-height:94dvh;background:#211914;color:white;box-shadow:0 20px 90px #0007}dialog::backdrop{background:#20150fdb}.dialog-close{position:absolute;right:10px;top:8px;width:38px;height:38px;border:0;border-radius:50%;background:#ffffff20;color:white;font-size:28px;cursor:pointer}dialog img{display:block;max-width:calc(96vw - 24px);max-height:calc(94dvh - 92px);width:auto;height:auto;object-fit:contain;margin:auto}dialog p{text-align:center;font-size:12px;color:#e7d8ce;margin:9px 0 0}:focus-visible{outline:3px solid #f8a86d;outline-offset:3px}@media(max-width:820px){.site-header{height:64px;padding:0 16px}.brand-mark{width:38px;height:38px}.intro{padding:42px 20px 39px}.intro-copy{max-width:34em;margin:12px auto 19px;line-height:1.8}.guide-layout{display:flex;flex-direction:column;padding:0 14px 38px;gap:14px}.toc{position:static;width:100%;max-height:none;padding:16px 12px}.toc-heading{display:flex;align-items:baseline;gap:10px;padding:0 5px 9px}.toc-heading h2{font-size:18px}.toc nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2px 5px}.toc-group{margin:0}.toc-group-title{padding:7px 7px 3px}.toc-page{font-size:12px;min-height:40px;padding:8px 7px}.toc-app-link{margin-top:10px}.reader{width:100%;padding:14px;border-radius:20px}.image-button img{max-height:none}.reader-controls{gap:4px}.nav-button,.contents-button{font-size:12px;min-height:44px;padding:0 8px}.page-frame{border-radius:12px}.site-footer{padding:0 16px 22px}}@media(max-width:390px){.app-link{font-size:12px;padding:9px 11px}.brand strong{font-size:14px}.brand small{font-size:10px}.toc nav{grid-template-columns:1fr}.toc-page{font-size:13px}.reader-controls{grid-template-columns:1fr auto 1fr}.nav-button span{display:inline}.intro h1{font-size:30px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
/* Mobile refinements: keep desktop layout unchanged. */
html,body{max-width:100%;overflow-x:clip}
img{max-width:100%}
.toc-heading-label{display:block}
.toc-toggle{display:none}
@media(max-width:820px){
 .guide-layout{min-width:0}
 .toc{overflow:visible}
 .toc-heading{align-items:center;justify-content:space-between;gap:12px}
 .toc-heading-label{display:flex;align-items:baseline;gap:9px}
 .toc-heading-label .toc-heading>span{letter-spacing:.14em}
 .toc-heading-label h2{margin:0}
 .toc-toggle{display:flex;align-items:center;gap:8px;min-height:44px;padding:0 12px;border:1px solid #eadbc8;border-radius:12px;background:#fff;color:#47291d;font:inherit;font-size:12px;font-weight:700;cursor:pointer}
 .toc-toggle-count{color:#88766c;font-size:11px;font-weight:500}
 .toc-toggle-icon{color:#cf4d12;font-size:16px;transition:transform .18s ease}
 .toc.is-open .toc-toggle-icon{transform:rotate(180deg)}
 .toc:not(.is-open) #toc-list{display:none}
 .toc nav{grid-template-columns:repeat(2,minmax(0,1fr));gap:3px 6px}
 .toc-group{min-width:0}
 .toc-page{min-width:0;min-height:46px;padding:8px;line-height:1.45;overflow-wrap:anywhere}
 .reader{min-width:0;overflow:hidden}
 .page-frame,.image-button{max-width:100%;min-width:0}
 .image-button img{width:100%;max-width:100%;height:auto;object-fit:contain}
 .reader-controls{grid-template-columns:minmax(76px,1fr) auto minmax(76px,1fr);gap:6px}
 .nav-button,.contents-button{min-height:52px;font-size:13px;padding:0 10px;white-space:nowrap}
 .nav-button{min-width:76px}
 .contents-button{min-width:92px}
 .dialog-close{width:48px;height:48px;right:12px;top:10px}
 .site-footer{padding-bottom:max(22px,env(safe-area-inset-bottom))}
}
@media(max-width:390px){
 .site-header{padding-left:12px;padding-right:12px}
 .guide-layout{padding-left:10px;padding-right:10px}
 .reader{padding:11px}
 .toc{padding:13px 10px}
 .toc nav{grid-template-columns:repeat(2,minmax(0,1fr))}
 .toc-page{font-size:11px;padding:7px 5px;min-height:46px}
 .reader-controls{grid-template-columns:minmax(70px,1fr) auto minmax(70px,1fr);gap:3px}
 .nav-button{min-width:70px;padding:0 6px}
 .contents-button{min-width:86px;padding:0 4px;font-size:12px}
}
@media(max-width:340px){.app-link{padding:8px 9px}.brand{gap:7px}.brand-mark{width:34px;height:34px}.brand small{font-size:9px}}
@media(prefers-reduced-motion:reduce){.toc-toggle-icon{transition:none}}

.toc-heading-label>span{font-size:11px;letter-spacing:.18em;color:var(--orange);font-weight:800}
dialog{max-height:94vh;max-height:94dvh}
dialog img{max-height:calc(94vh - 92px);max-height:calc(94dvh - 92px)}
.hero-actions{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:12px;width:min(100%,430px);margin:0 auto}
.hero-actions .primary-link,.hero-actions .secondary-link{display:inline-flex;flex:1 1 180px;align-items:center;justify-content:center;gap:9px;min-height:50px;padding:13px 16px;border-radius:999px;font-size:14px;font-weight:700;line-height:1.4;text-decoration:none;white-space:nowrap}
.hero-actions .secondary-link{margin:0;border:1px solid var(--orange);background:rgba(255,255,255,.82);color:var(--orange-dark);box-shadow:none}
.hero-actions .secondary-link:hover{background:#fff4e9}
@media(max-width:390px){.hero-actions{gap:10px}.hero-actions .primary-link,.hero-actions .secondary-link{flex-basis:145px;padding-inline:10px;font-size:13px}}
@media(max-width:520px){.hero-actions{gap:10px}.hero-actions .primary-link,.hero-actions .secondary-link{flex-basis:calc(50% - 5px);padding-inline:10px;font-size:13px}}
@media(max-width:340px){.hero-actions{width:min(100%,280px)}.hero-actions .primary-link,.hero-actions .secondary-link{flex-basis:100%}}
