:root{--bg-page:#e8e0d4;--bg-tile:url("data:image/svg+xml,%3Csvg width='8' height='8' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='1' cy='1' r='0.6' fill='%23d4cdc2' /%3E%3C/svg%3E");--bg-content:#faf8f5;--bg-header:#7a8a6a;--bg-tab:#d4cec4;--bg-tab-active:#faf8f5;--bg-tab-hover:#e8e2d8;--bg-sidebar:#f0ece6;--bg-code:#f5f0ea;--bg-table-header:#7a8a6a;--bg-table-row-alt:#f5f2ed;--bg-accent:#8a9a7a;--bg-notice:#f5f0e5;--text-primary:#3a3530;--text-secondary:#6a6560;--text-header:#faf8f5;--text-link:#5a7a4a;--text-link-hover:#3a5a2a;--text-link-visited:var(--text-link);--text-muted:#9a9590;--text-tab:#5a5550;--border-main:#a09a90;--border-inner:#c4beb4;--border-accent:#7a8a6a;--border-tab:#b0aaa0;--shadow-box:2px 2px 0px #c4beb4;--shadow-inset:inset 1px 1px 3px #00000014;--font-body:"M PLUS 1p", "MS PGothic", "ＭＳ Ｐゴシック", sans-serif;--font-heading:"Sawarabi Mincho", "MS PMincho", "ＭＳ Ｐ明朝", serif;--font-mono:"M PLUS 1 Code", "MS Gothic", monospace;--max-width:860px}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;font-size:13px}body{font-family:var(--font-body);color:var(--text-primary);background-color:var(--bg-page);background-image:var(--bg-tile);min-height:100vh;line-height:1.7}.site-wrapper{max-width:var(--max-width);border:2px solid var(--border-main);background:var(--bg-content);margin:20px auto;box-shadow:3px 3px #b0aaa0}.site-header{background:var(--bg-header);border-bottom:2px solid var(--border-main);text-align:center;background:linear-gradient(135deg,#6a7a5a 0%,#8a9a7a 50%,#7a8a6a 100%);padding:18px 24px;position:relative;overflow:hidden}.site-header:before{content:"";pointer-events:none;background:url("data:image/svg+xml,%3Csvg width='20' height='20' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M10 0L20 10L10 20L0 10Z' fill='none' stroke='%23ffffff10' stroke-width='0.5'/%3E%3C/svg%3E");position:absolute;inset:0}.site-header h1{font-family:var(--font-heading);color:var(--text-header);letter-spacing:.15em;text-shadow:1px 1px 2px #0000004d;margin-bottom:2px;font-size:1.8rem;position:relative}.site-header .subtitle{color:#faf8f5bf;letter-spacing:.08em;font-size:.85rem;position:relative}.header-deco{color:#faf8f573;letter-spacing:.3em;margin-top:6px;font-size:.75rem;position:relative}.tab-nav{background:var(--bg-tab);border-bottom:2px solid var(--border-main);flex-wrap:wrap;gap:0;padding:0;display:flex}.tab-nav button{font-family:var(--font-body);background:var(--bg-tab);border:none;border-right:1px solid var(--border-tab);color:var(--text-tab);cursor:pointer;white-space:nowrap;border-bottom:2px solid #0000;padding:8px 16px;font-size:.85rem;transition:background .15s;position:relative}.tab-nav button:hover{background:var(--bg-tab-hover)}.tab-nav button.active{background:var(--bg-tab-active);color:var(--text-primary);border-bottom:2px solid var(--bg-tab-active);margin-bottom:-2px;font-weight:500}.tab-nav button.active:before{content:"▸ ";color:var(--bg-accent);font-size:.7rem}.content-area{min-height:500px;padding:20px 24px}.sub-tab-nav{border-bottom:1px solid var(--border-inner);gap:0;margin-bottom:16px;display:flex}.sub-tab-nav button{font-family:var(--font-body);color:var(--text-secondary);cursor:pointer;background:0 0;border:1px solid #0000;border-bottom:none;padding:6px 14px;font-size:.8rem;transition:all .15s}.sub-tab-nav button:hover{color:var(--text-primary);background:var(--bg-sidebar)}.sub-tab-nav button.active{color:var(--text-primary);background:var(--bg-content);border-color:var(--border-inner);border-bottom:1px solid var(--bg-content);margin-bottom:-1px;font-weight:500}.section-title{font-family:var(--font-heading);color:var(--text-primary);border-bottom:2px solid var(--bg-accent);letter-spacing:.05em;margin-top:20px;margin-bottom:14px;padding-bottom:4px;font-size:1.15rem}.section-title:first-child{margin-top:0}.section-title-sm{font-family:var(--font-heading);color:var(--text-primary);border-left:3px solid var(--bg-accent);margin-top:18px;margin-bottom:10px;padding-left:8px;font-size:1rem}.section-title-sm:first-child{margin-top:0}.profile-grid{align-items:flex-start;gap:24px;display:flex}.profile-image-container{flex-shrink:0;width:240px}.profile-image-container img{border:2px solid var(--border-main);width:100%;box-shadow:var(--shadow-box);display:block}.profile-info{flex:1;min-width:0}.profile-table{border-collapse:collapse;width:100%;font-size:.9rem}.profile-table th{text-align:left;white-space:nowrap;color:var(--text-secondary);vertical-align:top;border-bottom:1px dotted var(--border-inner);width:110px;padding:5px 12px 5px 0;font-weight:400}.profile-table td{border-bottom:1px dotted var(--border-inner);padding:5px 0}.profile-description{background:var(--bg-sidebar);border:1px solid var(--border-inner);color:var(--text-secondary);border-radius:2px;margin-top:14px;padding:12px;font-size:.88rem;line-height:1.8}a{color:var(--text-link);text-decoration:none}a:hover{color:var(--text-link-hover);text-decoration:underline}a:visited{color:var(--text-link)}.link-list{padding:0;list-style:none}.link-list a,.link-list a:visited{color:var(--text-link)}.link-list li{border-bottom:1px dotted var(--border-inner);align-items:center;gap:8px;padding:8px 12px;display:flex}.link-list li:last-child{border-bottom:none}.link-icon{background:var(--bg-accent);text-align:center;color:#fff;border-radius:2px;flex-shrink:0;width:18px;height:18px;font-size:.7rem;line-height:18px;display:inline-block}.link-desc{color:var(--text-muted);margin-left:4px;font-size:.8rem}.notice-box{background:var(--bg-notice);border:1px solid var(--border-inner);border-left:3px solid var(--bg-accent);margin:14px 0;padding:12px 14px;font-size:.88rem;line-height:1.7}.notice-box.placeholder{text-align:center;color:var(--text-muted);padding:40px 14px;font-style:italic}.download-card{border:2px solid var(--border-main);background:var(--bg-content);margin:14px 0}.download-card-header{background:var(--bg-header);color:var(--text-header);background:linear-gradient(90deg,#6a7a5a,#8a9a7a);padding:8px 14px;font-size:.9rem;font-weight:500}.download-card-body{padding:14px}.download-card-body p{margin-bottom:8px;font-size:.88rem}.download-card-body p:last-child{margin-bottom:0}.download-btn{background:var(--bg-accent);font-family:var(--font-body);cursor:pointer;border:1px solid #6a7a5a;margin:4px 4px 4px 0;padding:6px 18px;font-size:.85rem;transition:background .15s;display:inline-block;color:#fff!important;text-decoration:none!important}.download-btn:hover{background:#6a7a5a}.download-btn:visited{color:#fff!important}.download-btn.disabled{background:var(--bg-tab);border-color:var(--border-inner);cursor:not-allowed;color:var(--text-muted)!important}.file-info{font-family:var(--font-mono);color:var(--text-muted);margin-top:6px;font-size:.8rem}pre{background:var(--bg-code);border:1px solid var(--border-inner);font-family:var(--font-mono);box-shadow:var(--shadow-inset);white-space:pre-wrap;word-wrap:break-word;margin:10px 0;padding:12px 14px;font-size:.82rem;line-height:1.6;overflow-x:auto}code{font-family:var(--font-mono);background:var(--bg-code);border:1px solid var(--border-inner);padding:1px 4px;font-size:.88em}pre code{background:0 0;border:none;padding:0}.data-table{border-collapse:collapse;width:100%;margin:10px 0;font-size:.85rem}.data-table th{background:var(--bg-table-header);color:var(--text-header);text-align:left;border:1px solid #6a7a5a;padding:6px 10px;font-size:.82rem;font-weight:500}.data-table td{border:1px solid var(--border-inner);vertical-align:top;padding:5px 10px}.data-table tr:nth-child(2n) td{background:var(--bg-table-row-alt)}.diagram{background:var(--bg-code);border:1px solid var(--border-inner);font-family:var(--font-mono);white-space:pre;box-shadow:var(--shadow-inset);margin:12px 0;padding:14px;font-size:.78rem;line-height:1.5;overflow-x:auto}.guide-step{margin:14px 0;padding-left:28px;position:relative}.guide-step:before{content:attr(data-step);background:var(--bg-accent);color:#fff;text-align:center;border-radius:2px;width:20px;height:20px;font-size:.75rem;font-weight:700;line-height:20px;position:absolute;top:0;left:0}.guide-step h4{margin-bottom:4px;font-size:.92rem}.guide-step p{color:var(--text-secondary);margin-bottom:4px;font-size:.88rem}.qa-item{border-bottom:1px dotted var(--border-inner);margin-bottom:12px;padding-bottom:12px}.qa-item:last-child{border-bottom:none}.qa-q{color:var(--text-primary);margin-bottom:4px;font-weight:500}.qa-q:before{content:"Q. ";color:var(--bg-accent);font-weight:700}.qa-a{color:var(--text-secondary);padding-left:24px;font-size:.9rem}.qa-a:before{content:"A. ";color:var(--text-muted);margin-left:-24px;font-weight:500}.site-footer{background:var(--bg-tab);border-top:2px solid var(--border-main);text-align:center;color:var(--text-muted);padding:12px 24px;font-size:.75rem}.site-footer .counter{letter-spacing:.05em;margin-bottom:4px}.site-footer .update-date{font-family:var(--font-mono);font-size:.72rem}.deco-line{text-align:center;color:var(--text-muted);letter-spacing:.5em;margin:16px 0;font-size:.7rem;overflow:hidden}.deco-stars{text-align:center;color:var(--border-inner);letter-spacing:.8em;margin:12px 0;font-size:.6rem}.collapsible-header{cursor:pointer;background:var(--bg-sidebar);border:1px solid var(--border-inner);-webkit-user-select:none;user-select:none;align-items:center;gap:6px;margin-top:14px;padding:8px 12px;font-size:.9rem;font-weight:500;transition:background .15s;display:flex}.collapsible-header:hover{background:var(--bg-tab)}.collapsible-header .arrow{color:var(--text-muted);font-size:.7rem;transition:transform .2s}.collapsible-header .arrow.open{transform:rotate(90deg)}.collapsible-body{border:1px solid var(--border-inner);border-top:none;padding:14px;font-size:.88rem}.badge{font-size:.72rem;font-family:var(--font-mono);vertical-align:middle;border-radius:2px;margin-left:4px;padding:1px 6px;display:inline-block}.badge-lang{color:#4a6a4a;background:#dde8dd;border:1px solid #b4c8b4}.badge-size{color:#5a4a6a;background:#e0dde8;border:1px solid #c0b8c8}.badge-wip{color:#7a6a4a;background:#e8e0d0;border:1px solid #c8c0a8}.content-area p{margin-bottom:8px}.content-area p:last-child{margin-bottom:0}.content-area ul,.content-area ol{margin:8px 0;padding-left:24px}.content-area li{margin-bottom:4px;font-size:.9rem}@media (width<=700px){.site-wrapper{border-left:none;border-right:none;margin:0}.profile-grid{flex-direction:column;align-items:center}.profile-image-container{width:200px}.content-area{padding:14px}.tab-nav button{padding:6px 10px;font-size:.78rem}.diagram{font-size:.68rem}pre{font-size:.75rem}}.welcome-marquee{white-space:nowrap;color:var(--text-muted);border-bottom:1px dotted var(--border-inner);background:var(--bg-sidebar);padding:3px 0;font-size:.72rem;overflow:hidden}.welcome-marquee span{padding-left:100%;animation:30s linear infinite marquee;display:inline-block}@keyframes marquee{0%{transform:translate(0)}to{transform:translate(-100%)}}.tech-nav{background:var(--bg-sidebar);border:1px solid var(--border-inner);flex-direction:column;gap:0;margin-bottom:16px;padding:4px 0;display:flex}.tech-nav button{font-family:var(--font-body);text-align:left;cursor:pointer;color:var(--text-secondary);background:0 0;border:none;padding:5px 14px;font-size:.82rem;transition:all .1s}.tech-nav button:hover{background:var(--bg-tab-hover);color:var(--text-primary)}.tech-nav button.active{background:var(--bg-accent);color:var(--text-header)}.credits-grid{grid-template-columns:1fr 1fr;gap:10px;margin:10px 0;display:grid}@media (width<=600px){.credits-grid{grid-template-columns:1fr}}.credit-item{background:var(--bg-sidebar);border:1px solid var(--border-inner);padding:8px 12px;font-size:.85rem}.credit-item strong{color:var(--text-primary);margin-bottom:2px;font-size:.88rem;display:block}.credit-item span{color:var(--text-secondary);font-size:.8rem}.lang-switcher{z-index:9999;border:1px solid var(--border-main);background:var(--bg-content);opacity:.55;gap:0;font-size:.72rem;transition:opacity .25s;display:flex;position:fixed;top:10px;right:12px;box-shadow:1px 1px 3px #0000001a}.lang-switcher:hover{opacity:1}.lang-switcher button{font-family:var(--font-body);border:none;border-right:1px solid var(--border-inner);color:var(--text-muted);cursor:pointer;background:0 0;padding:3px 8px;font-size:.72rem;line-height:1;transition:all .15s}.lang-switcher button:last-child{border-right:none}.lang-switcher button:hover{background:var(--bg-sidebar);color:var(--text-primary)}.lang-switcher button.active{background:var(--bg-accent);color:var(--text-header)}
