*{margin:0;padding:0;box-sizing:border-box}html{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Hiragino Sans,Noto Sans CJK JP,sans-serif;font-size:16px;line-height:1.6;color:#333;background:#fff}header{background:#333;color:#fff;padding:.5rem 1rem}.header-inner{max-width:800px;margin:0 auto}.logo{color:#fff!important;text-decoration:none;font-weight:700;font-size:1.2rem;text-shadow:0 1px 2px rgba(0,0,0,.3)}.logo:hover{color:#fff!important;opacity:.9}.logo:visited{color:#fff!important}.tagline{margin-left:1rem;font-size:.9rem;color:#e0e0e0}.breadcrumb{max-width:800px;margin:0 auto;padding:.5rem 1rem;font-size:.9rem;color:#666}.breadcrumb a{color:#06c;text-decoration:none}.breadcrumb a:hover{text-decoration:underline}.article{max-width:800px;margin:0 auto;padding:1rem}.article h1{font-size:1.5rem;border-bottom:2px solid #333;padding-bottom:.5rem;margin-bottom:.5rem}.meta{font-size:.8rem;color:#666;margin-bottom:1rem}.meta span{margin-right:1rem}.content h2{font-size:1.2rem;margin-top:2rem;margin-bottom:.5rem;background:#f0f0f0;padding:.3rem .5rem}.content h3{font-size:1.1rem;margin-top:1.5rem;margin-bottom:.5rem;border-left:4px solid #333;padding-left:.5rem}.content h4{font-size:1rem;margin-top:1.2rem;margin-bottom:.5rem;font-weight:700}.content h5{font-size:.95rem;margin-top:1rem;margin-bottom:.5rem;font-weight:700}.content h6{font-size:.9rem;margin-top:.8rem;margin-bottom:.5rem;font-weight:700}.content p{margin:.8rem 0}.content ul,.content ol{margin:.5rem 0 .5rem 1.5rem}.content li{margin:.3rem 0}.content a{color:#06c;text-decoration:none}.content a:hover{text-decoration:underline}.content a:visited{color:#551a8b}.content a:focus{outline:2px solid #0066cc;outline-offset:2px}.content strong{color:#000}footer{margin-top:3rem;padding:1rem;text-align:center;font-size:.8rem;color:#666;border-top:1px solid #ddd}code{background:#f5f5f5;padding:.1rem .3rem;border-radius:3px;font-family:SF Mono,Monaco,Cascadia Code,monospace;font-size:.9em}pre{background:#f5f5f5;padding:1rem;overflow-x:auto;border-radius:5px;margin:1rem 0}pre code{background:none;padding:0}table{border-collapse:collapse;width:100%;margin:1rem 0}th,td{border:1px solid #ddd;padding:.5rem;text-align:left}th{background:#f5f5f5}blockquote{border-left:4px solid #ddd;padding-left:1rem;margin:1rem 0;color:#666}img{max-width:100%;height:auto}@media(max-width:600px){html{font-size:14px}header{padding:.4rem .8rem}.logo{font-size:1.1rem;text-shadow:0 1px 2px rgba(0,0,0,.3)}.tagline{display:block;margin-left:0;margin-top:.2rem;font-size:.85rem;color:#e0e0e0}.breadcrumb{padding:.4rem .8rem;font-size:.85rem}.article{padding:.8rem}.article h1{font-size:1.3rem}.content h2{font-size:1.1rem}.content h3{font-size:1rem}footer{padding:.8rem;font-size:.75rem}.footer-nav a{display:block;margin:.3rem 0}.scroll-to-top{width:36px;height:36px;font-size:1.2rem;bottom:15px;right:15px}}@media print{header,footer,nav,.scroll-to-top,.copy-button{display:none}.article{max-width:100%;padding:0}a{color:#000;text-decoration:underline}a[href^=http]:after{content:" (" attr(href) ")";font-size:.8em;color:#666}a[href^="/"]:after{content:" (https://soykhufu.net" attr(href) ")";font-size:.8em;color:#666}.content h2,.content h3{page-break-after:avoid}}.footer-nav{margin-bottom:.5rem}.footer-nav a{color:#666;text-decoration:none;margin:0 .5rem}.footer-nav a:hover{text-decoration:underline}.code-wrapper{position:relative}.copy-button{position:absolute;top:.5rem;right:.5rem;padding:.3rem .6rem;font-size:.75rem;background:#fff;border:1px solid #ccc;border-radius:3px;cursor:pointer;opacity:.7;transition:opacity .2s}.copy-button:hover{opacity:1}.copy-button.copied{background:#4caf50;color:#fff;border-color:#4caf50}.scroll-to-top{position:fixed;bottom:2rem;right:2rem;width:3rem;height:3rem;background:#333;color:#fff;border:none;border-radius:50%;font-size:1.5rem;cursor:pointer;opacity:0;visibility:hidden;transition:opacity .3s,visibility .3s,transform .3s;z-index:1000;box-shadow:0 2px 8px #0003}.scroll-to-top.visible{opacity:1;visibility:visible}.scroll-to-top:hover{background:#555;transform:translateY(-2px);box-shadow:0 4px 12px #0000004d}.scroll-to-top:active{transform:translateY(0)}
