*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{font-family:system-ui,Hiragino Kaku Gothic ProN,Noto Sans JP,Yu Gothic,sans-serif;color:#333;background:#fff;line-height:1.8;-webkit-font-smoothing:antialiased}a{color:#4a7aab}code{background-color:#afb8c133;border:1px solid rgba(175,184,193,.3);border-radius:6px;padding:.2em .4em;font-size:inherit;font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,Liberation Mono,monospace}.layout{display:flex;min-height:100vh}.sidebar{position:sticky;top:0;width:280px;flex-shrink:0;height:100vh;overflow-y:auto;background:#f8f9fa;border-right:1px solid #e2e6ea;display:flex;flex-direction:column}.content{flex:1;min-width:0}.top-menu{flex:1;padding:24px 0}.top-menu-inner{display:flex;flex-direction:column;gap:2px}.top-menu a{display:block;padding:10px 20px;font-size:.88rem;font-weight:500;color:#3d4552;text-decoration:none;border-left:3px solid transparent;transition:color .2s,border-color .2s,background-color .2s;line-height:1.5;word-break:keep-all;overflow-wrap:anywhere}.top-menu a:hover{color:#4a7aab;background-color:#eef3f8}.top-menu a.active{color:#2c5d8f;border-left-color:#4a7aab;font-weight:700;background-color:#eef3f8}.header{text-align:center;padding:48px 24px}.header h1{font-size:2rem;font-weight:700;color:#222;letter-spacing:.02em}.header p{margin-top:12px;font-size:1.05rem;color:#666}.step-nav{max-width:720px;margin:0 auto 48px;padding:0 24px;display:flex;flex-wrap:wrap;gap:12px;justify-content:center}.step-nav a{display:inline-block;padding:8px 20px;border:1px solid #ddd;border-radius:6px;color:#555;text-decoration:none;font-size:.9rem;transition:border-color .2s,color .2s}.step-nav a:hover{border-color:#7b9cc2;color:#4a7aab}.main{max-width:720px;margin:0 auto;padding:0 24px 80px}.intro{margin-bottom:64px;padding-bottom:32px;border-bottom:1px solid #eee}.intro p{color:#555;margin-bottom:16px}.intro h3{font-size:1rem;font-weight:600;color:#444;margin:24px 0 8px}.intro ul{padding-left:20px;color:#555}.intro ul li{margin-bottom:4px}.flow{background:#f8f9fa;border:1px solid #eee;border-radius:8px;padding:20px;margin-top:20px;text-align:center;font-size:.92rem;color:#555;line-height:2}.flow code{background:#fff}.section{margin-bottom:64px}.section-header{display:flex;align-items:center;gap:14px;margin-bottom:24px;padding-bottom:16px;border-bottom:1px solid #eee}.step-number{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;background:#7b9cc2;color:#fff;font-size:1.1rem;font-weight:700;flex-shrink:0}.section-header h2{font-size:1.35rem;font-weight:600;color:#222}.section-intro{margin-bottom:20px;color:#555;font-size:.95rem}.sub-heading{font-size:1.05rem;font-weight:600;color:#444;margin:28px 0 12px}.steps-list{list-style:none;counter-reset:step;margin-bottom:24px}.steps-list li{counter-increment:step;position:relative;padding-left:36px;margin-bottom:14px;line-height:1.7}.steps-list li:before{content:counter(step);position:absolute;left:0;top:2px;width:24px;height:24px;border-radius:50%;background:#eef3f8;color:#7b9cc2;font-size:.8rem;font-weight:700;display:flex;align-items:center;justify-content:center}.steps-list li .sub{display:block;color:#777;font-size:.88rem;margin-top:2px}.tips{background:#f8f9fa;border-left:3px solid #7b9cc2;border-radius:0 6px 6px 0;padding:16px 20px;margin:24px 0;font-size:.9rem;color:#555}.tips strong{color:#4a7aab}.tips ul{margin-top:8px;padding-left:18px}.tips ul li{margin-bottom:4px}figure{margin:20px 0}figure a{display:block;cursor:zoom-in}figure img{display:block;max-width:100%;height:auto;border-radius:8px}figcaption{margin-top:8px;font-size:.85rem;color:#888;text-align:center}.img-overlay{display:none;position:fixed;top:0;left:0;width:100%;height:100%;background:#000c;z-index:1000;cursor:zoom-out;justify-content:center;align-items:center}.img-overlay.active{display:flex}.img-overlay img{max-width:95%;max-height:95%;border-radius:4px;box-shadow:0 4px 24px #0006}.table-wrap{overflow-x:auto;margin:16px 0}table{width:100%;border-collapse:collapse;font-size:.92rem}th,td{text-align:left;padding:10px 14px;border-bottom:1px solid #eee;vertical-align:top}th{color:#666;font-weight:600;background:#fafafa}pre.code-block{background:#f6f8fa;border:1px solid #e2e6ea;border-radius:6px;padding:1em 1.2em;overflow-x:auto;font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,Liberation Mono,monospace;font-size:.9em;line-height:1.6;margin:1em 0}pre.code-block code{background:none;border:none;padding:0;border-radius:0;font-size:inherit}.guide-index{display:flex;flex-direction:column;gap:16px}.guide-index-card{display:block;padding:20px 24px;border:1px solid #e2e6ea;border-radius:8px;text-decoration:none;transition:border-color .2s,box-shadow .2s}.guide-index-card:hover{border-color:#7b9cc2;box-shadow:0 2px 8px #4b7aab1a}.guide-index-title{display:block;font-size:1.05rem;font-weight:600;color:#4a7aab}.guide-index-desc{display:block;margin-top:4px;font-size:.9rem;color:#666}.lang-switcher{display:flex;flex-wrap:wrap;gap:4px;padding:16px 20px;border-top:1px solid #e2e6ea}.lang-switcher a{font-size:.8rem;color:#888;text-decoration:none;padding:3px 6px;border-radius:4px;transition:color .2s,background-color .2s}.lang-switcher a:hover{color:#4a7aab;background-color:#eef3f8}.lang-switcher a.active{color:#2c5d8f;font-weight:600}.machine-translation-notice{max-width:720px;margin:0 auto 24px;padding:10px 24px;text-align:center;font-size:.85rem;color:#8a6d3b;background:#fef9e7;border:1px solid #f0e0a0;border-radius:6px}.terminology-notice{max-width:720px;margin:0 auto 24px;padding:10px 24px;font-size:.85rem;color:#305175;background:#eef5fc;border:1px solid #c8dcef;border-radius:6px;line-height:1.6}.terminology-notice strong{color:#1a3759}.footer{text-align:center;padding:32px 24px;border-top:1px solid #eee;color:#aaa;font-size:.82rem}@media(max-width:768px){.layout{flex-direction:column}.sidebar{position:static;width:100%;height:auto;border-right:none;border-bottom:1px solid #e2e6ea}.top-menu{padding:12px 0}.top-menu-inner{flex-direction:row;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;gap:4px;padding:0 12px}.top-menu-inner::-webkit-scrollbar{display:none}.top-menu a{white-space:nowrap;border-left:none;border-bottom:3px solid transparent;padding:8px 12px;font-size:.85rem}.top-menu a.active{border-left-color:transparent;border-bottom-color:#4a7aab}.lang-switcher{border-top:none;padding:4px 12px 12px}.header{padding:32px 16px}.header h1{font-size:1.5rem}.main{padding:0 16px 60px}.section-header h2{font-size:1.15rem}.step-nav{gap:8px}.step-nav a{font-size:.82rem;padding:6px 14px}}
