:root{color-scheme:light dark;--bg: #f6f7f9;--surface: #ffffff;--surface-2: #eef1f5;--text: #17191d;--muted: #667085;--line: #d9dee7;--accent: #246bfd;--accent-hover: #1556d7;--warning: #b54708;--shadow: 0 10px 30px rgba(16, 24, 40, .07);--glass-blur: 2px;--glass-opacity: 50%;--tooltip-text-shadow: 0 1px 2px rgba(255, 255, 255, .8), 0 0 1px rgba(255, 255, 255, .6);font-family:Inter,Noto Sans JP,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}@media(prefers-color-scheme:dark){:root{--bg: #111318;--surface: #181b21;--surface-2: #22262e;--text: #f2f4f7;--muted: #aab2c0;--line: #303641;--accent: #6ea0ff;--accent-hover: #8db5ff;--warning: #fdb022;--shadow: 0 10px 30px rgba(0, 0, 0, .22);--tooltip-text-shadow: 0 1px 2px rgba(0, 0, 0, .8), 0 0 3px rgba(0, 0, 0, .6)}}*{box-sizing:border-box}.tool-card[hidden]{display:none}.tool-tags{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0}.tool-tag{color:var(--accent);font-size:.85rem;text-decoration:none;overflow-wrap:anywhere;padding:3px 8px;border-radius:8px;background:var(--surface-2)}.tool-tag:hover{text-decoration:underline}.tag-filter{margin-bottom:20px;min-width:0}.tag-filter h2{font-size:1rem;margin:0 0 6px}.tag-filter-help{color:var(--muted);font-size:.9rem;margin:0 0 12px}.tag-chips,.tag-selection{display:flex;flex-wrap:wrap;align-items:center;gap:8px;min-width:0}.tag-chip,.tag-clear{font:inherit;font-size:.9rem;cursor:pointer;max-width:100%;overflow-wrap:anywhere}.tag-chip{color:var(--text);background:var(--surface);border:1px solid var(--line);border-radius:999px;padding:9px 14px}.tag-chip:hover{border-color:var(--accent)}.tag-chip[aria-pressed=true]{background:var(--accent);color:var(--bg);border-color:var(--accent)}.tag-selection{margin-top:16px;font-size:.9rem}.tag-selection[hidden]{display:none}.tag-remove{background:var(--surface-2)}.tag-clear{color:var(--accent);background:transparent;border:0;padding:9px;text-decoration:underline}.tag-result-count{color:var(--muted);margin:16px 0 0}.tool-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;margin-top:16px}.tool-toolbar .tag-result-count{margin:0}.tool-sort{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;font-size:1.2rem;color:var(--text);background:var(--surface);border:1px solid var(--line);border-radius:8px;cursor:pointer}.tool-sort:hover{color:var(--accent);border-color:var(--accent)}.tool-sort:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.tag-empty{padding:24px;border:1px dashed var(--line);border-radius:12px;color:var(--muted);white-space:pre-line}.tag-chip:focus-visible,.tag-clear:focus-visible,.tool-tag:focus-visible{outline:2px solid var(--accent);outline-offset:3px}html{min-height:100%;background:var(--bg)}body{margin:0;min-height:100vh;color:var(--text);background:var(--bg)}a{color:inherit}button,a{-webkit-tap-highlight-color:transparent}.shell{width:min(1120px,calc(100% - 32px));margin-inline:auto}.site-header{position:sticky;top:0;z-index:10;border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--bg) var(--glass-opacity),transparent);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur))}.header-inner{min-height:64px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{font-weight:800;text-decoration:none;letter-spacing:-.02em}.header-link{color:var(--muted);text-decoration:none;font-size:.95rem;display:inline-flex;align-items:center;gap:7px}.header-link:hover{color:var(--text)}.header-actions{display:flex;align-items:center;flex-wrap:wrap;justify-content:flex-end;gap:12px}.language-switch select{max-width:100%;padding:7px 9px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--text);font:inherit;font-size:.9rem}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.translation-notice{padding:12px 16px;border:1px solid var(--line);border-radius:10px;color:var(--warning)}.tool-card-title,.sidebar-title,.button,.meta-value{overflow-wrap:anywhere}.page-main{padding-block:64px 88px}.hero{margin-bottom:32px}.eyebrow{margin:0 0 8px;color:var(--accent);font-weight:800;font-size:.8rem;letter-spacing:.16em}.hero h1,.detail-header h1{margin:0;font-size:clamp(2rem,6vw,3.5rem);letter-spacing:-.045em;line-height:1.08}.hero p:not(.eyebrow){margin:14px 0 0;color:var(--muted);font-size:1.05rem}.status{padding:18px 20px;border:1px solid var(--line);border-radius:14px;background:var(--surface);color:var(--muted)}.status.error{color:#d92d20}.tool-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.tool-card{min-width:0;display:grid;grid-template-columns:112px minmax(0,1fr);gap:20px;padding:20px;border:1px solid var(--line);border-radius:18px;background:var(--surface);box-shadow:var(--shadow)}.tool-card-icon,.detail-icon{aspect-ratio:1 / 1;object-fit:cover;border-radius:18px;background:var(--surface-2);border:1px solid var(--line)}.tool-card-icon{width:112px;height:112px}.tool-card-body{min-width:0;display:flex;flex-direction:column}.tool-card-summary-link{min-width:0;color:inherit;text-decoration:none}.tool-card-summary-link:hover .tool-card-title{color:var(--accent)}.tool-card-top{display:flex;gap:12px;align-items:flex-start;justify-content:space-between}.tool-card-title{margin:0;font-size:1.25rem;line-height:1.3;letter-spacing:-.02em}.tool-card-platforms{display:inline-flex;align-items:center;gap:5px;flex-shrink:0;padding-top:2px}.tool-card-platforms .platform-icon{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:6px;background:var(--surface-2);border:1px solid var(--line);color:var(--muted);font-size:.8rem;transition:color .15s ease,background .15s ease,border-color .15s ease}.tool-card:hover .tool-card-platforms .platform-icon{color:var(--text);border-color:color-mix(in srgb,var(--accent) 30%,var(--line))}.version-badge{flex:none;display:inline-flex;align-items:center;min-height:28px;padding:4px 9px;border-radius:999px;background:var(--surface-2);color:var(--muted);font-size:.78rem;font-weight:700}.version-badge.large{font-size:.86rem}.tool-card-description{margin:10px 0 18px;color:var(--muted);line-height:1.7}.tool-languages{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 12px;margin:0 0 14px;font-size:.85rem;line-height:1.5}.tool-languages dt{color:var(--muted)}.tool-languages dd{margin:0;min-width:0;overflow-wrap:anywhere}.tool-language-details summary{cursor:pointer;border-radius:4px}.tool-language-details summary:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.tool-language-count{font-weight:600}.tool-language-preview{display:block;margin-top:3px;color:var(--muted)}.tool-language-details[open] .tool-language-preview{display:none}.tool-language-list{display:block;margin-top:8px;line-height:1.8}.sidebar-meta-part .tool-languages{justify-content:space-between;padding-bottom:10px;border-bottom:1px solid var(--line)}.tool-card-actions{margin-top:auto;display:flex;flex-wrap:wrap;gap:9px}.button{min-height:42px;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:9px 15px;border:1px solid transparent;border-radius:11px;font:inherit;font-weight:750;font-size:.9rem;text-decoration:none;cursor:pointer;transition:.15s ease}.button.primary{background:var(--accent);color:#fff}.button.primary:hover{background:var(--accent-hover)}.button.secondary{border-color:var(--line);background:var(--surface);color:var(--text)}.button.secondary:hover{background:var(--surface-2)}.button-warning{outline:2px solid color-mix(in srgb,var(--warning) 55%,transparent)}.back-link{display:inline-flex;align-items:center;gap:8px;margin-bottom:28px;color:var(--muted);text-decoration:none}.back-link:hover{color:var(--text)}.detail-layout{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:28px;align-items:start}.detail-main{min-width:0;display:grid;gap:24px}.detail-sidebar{position:sticky;top:84px;display:grid;gap:16px}.detail-empty{color:var(--muted)}.sidebar-card{border:1px solid var(--line);background:var(--surface);border-radius:20px;box-shadow:var(--shadow);padding:24px;display:flex;flex-direction:column;gap:22px}.sidebar-header-part{display:flex;flex-direction:column;gap:14px}.sidebar-icon{width:84px;height:84px;border-radius:18px;object-fit:cover;border:1px solid var(--line);background:var(--surface-2)}.sidebar-title{margin:0;font-size:1.55rem;line-height:1.25;letter-spacing:-.03em}.sidebar-download-part{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding-block:20px}.sidebar-download-part h2{margin:0 0 14px;font-size:1.18rem;letter-spacing:-.02em}.env-badge-container{margin-bottom:14px}.env-badge{display:inline-flex;align-items:center;gap:6px;padding:5px 11px;border-radius:8px;font-size:.8rem;font-weight:700;border:1px solid var(--line);background:var(--surface-2);cursor:default}.env-badge.warning{color:var(--warning);border-color:color-mix(in srgb,var(--warning) 40%,var(--line));background:color-mix(in srgb,var(--warning) 8%,var(--surface-2))}.has-custom-tooltip{position:relative;cursor:help;outline:none}.custom-tooltip{position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%) translateY(4px);padding:8px 12px;border-radius:9px;background:color-mix(in srgb,var(--surface-2) var(--glass-opacity),transparent);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid color-mix(in srgb,var(--line) 80%,transparent);color:var(--text);font-size:.78rem;font-weight:500;line-height:1.45;text-shadow:var(--tooltip-text-shadow);white-space:normal;width:max-content;max-width:260px;pointer-events:none;opacity:0;visibility:hidden;transition:opacity .15s ease,transform .15s ease;box-shadow:0 8px 24px #00000047;z-index:20;text-align:left}.has-custom-tooltip:hover .custom-tooltip,.has-custom-tooltip:focus-visible .custom-tooltip{opacity:1;visibility:visible;transform:translate(-50%) translateY(0)}.version-value-with-tooltip{display:inline-flex;align-items:center;gap:6px;cursor:help}.version-value-with-tooltip i{color:var(--warning);font-size:.85rem}.version-value-with-tooltip .custom-tooltip{left:auto;right:0;transform:translateY(4px)}.version-value-with-tooltip:hover .custom-tooltip,.version-value-with-tooltip:focus-visible .custom-tooltip{transform:translateY(0)}.sidebar-download-part .download-row{padding:12px 14px;gap:12px;display:flex;align-items:center;justify-content:space-between}.download-action-btn{position:relative;padding:8px 14px;font-size:.86rem}.download-platform-tag{display:inline-flex;align-items:center;gap:7px;font-size:.86rem;font-weight:600;color:var(--muted)}.download-action-btn .download-tooltip{position:absolute;bottom:calc(100% + 8px);right:0;padding:6px 10px;border-radius:8px;background:color-mix(in srgb,var(--surface-2) var(--glass-opacity),transparent);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));color:var(--text);font-size:.78rem;font-weight:600;white-space:nowrap;text-shadow:var(--tooltip-text-shadow);pointer-events:none;opacity:0;visibility:hidden;transform:translateY(4px);transition:opacity .15s ease,transform .15s ease;box-shadow:0 8px 24px #00000047;border:1px solid color-mix(in srgb,var(--line) 80%,transparent);z-index:10;display:flex;flex-direction:column;align-items:flex-start;gap:3px}.download-action-btn:hover .download-tooltip{opacity:1;visibility:visible;transform:translateY(0)}.tooltip-filename{display:inline-flex;align-items:center;gap:6px;color:var(--text)}.tooltip-filename i{color:var(--muted);font-size:.75rem}.tooltip-size{color:var(--muted);display:inline-flex;align-items:center;gap:5px;font-size:.74rem}.tooltip-size i{color:var(--accent);font-size:.74rem}.tooltip-size.warning,.tooltip-size.warning i{color:var(--warning)}.tooltip-size.muted,.tooltip-size.muted i{color:var(--muted)}.sidebar-meta-part{display:grid;gap:12px}.meta-row{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:.92rem;border-bottom:1px solid var(--line);padding-bottom:10px}.meta-row.meta-row-link{border-bottom:none;padding-bottom:0;padding-top:4px}.meta-label{color:var(--muted);font-size:.88rem}.meta-value{color:var(--text);font-weight:600;font-size:.9rem}.sidebar-github-link{color:var(--accent);text-decoration:none;font-weight:700;font-size:.9rem;display:inline-flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:10px;background:var(--surface-2);border-radius:10px;transition:.15s}.sidebar-github-link:hover{background:var(--line);color:var(--text)}.platform-tabs{display:flex;gap:8px;overflow-x:auto;padding-bottom:4px;margin-bottom:16px}.platform-tab{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--line);border-radius:999px;padding:7px 13px;background:var(--surface);color:var(--muted);font:inherit;font-size:.86rem;font-weight:700;cursor:pointer;white-space:nowrap;display:inline-flex;align-items:center;gap:7px}.platform-tab.active{background:var(--text);border-color:var(--text);color:var(--bg)}.platform-label{cursor:default}.download-panel{display:grid;gap:10px}.download-panel[hidden]{display:none}.download-row{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px;border:1px solid var(--line);border-radius:14px;background:var(--bg)}.download-info{min-width:0;display:grid;gap:3px}.download-info strong{font-size:.96rem}.recommended{margin-left:5px;color:var(--accent);font-size:.76rem}.download-filename{color:var(--muted);font-size:.84rem;overflow-wrap:anywhere}.download-size{color:var(--muted);font-size:.78rem}.muted{color:var(--muted)}.release-error-notice{display:flex;align-items:flex-start;gap:8px;padding:10px 12px;margin-bottom:12px;border:1px solid color-mix(in srgb,#f59e0b 45%,var(--line));border-radius:10px;background:color-mix(in srgb,#f59e0b 12%,var(--surface));color:var(--text);font-size:.82rem;line-height:1.45}.release-error-notice i{color:#f59e0b;margin-top:2px}.detail-gallery{width:100%}.gallery-carousel{display:flex;flex-direction:column;gap:14px;width:100%}.gallery-main-wrapper{position:relative;width:100%;aspect-ratio:16 / 9;border-radius:16px;overflow:hidden;border:1px solid var(--line);background:#000;display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow)}.gallery-bg-blur{position:absolute;top:-20px;right:-20px;bottom:-20px;left:-20px;width:calc(100% + 40px);height:calc(100% + 40px);object-fit:cover;filter:blur(24px) brightness(.65);transform:scale(1.1);pointer-events:none;z-index:0;-webkit-user-select:none;user-select:none}.gallery-main-link{position:relative;z-index:1;display:block;width:100%;height:100%}.gallery-main-viewport{width:100%;height:100%;overflow:hidden}.gallery-main-track{display:flex;width:100%;height:100%;transform:translate(0);transition:transform .72s cubic-bezier(.36,0,.15,1);will-change:transform}.gallery-main-slide{flex:0 0 100%;min-width:100%;height:100%;display:flex;align-items:center;justify-content:center}.gallery-main-img{width:100%;height:100%;object-fit:contain;display:block;-webkit-user-select:none;user-select:none}.gallery-nav{position:absolute;top:50%;transform:translateY(-50%);width:44px;height:44px;border-radius:50%;border:1px solid var(--line);background:color-mix(in srgb,var(--surface) var(--glass-opacity),transparent);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));color:var(--text);display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:1.1rem;transition:opacity .2s ease,transform .15s ease,background .15s ease;z-index:2;box-shadow:0 4px 12px #00000026;opacity:0;pointer-events:none}.gallery-main-wrapper:hover .gallery-nav,.gallery-nav:focus-visible{opacity:1;pointer-events:auto}.gallery-nav:hover{background:var(--surface);transform:translateY(-50%) scale(1.05)}.gallery-nav.prev{left:14px}.gallery-nav.next{right:14px}.gallery-thumbs{display:flex;gap:10px;overflow-x:auto;padding-bottom:4px;justify-content:center}.gallery-thumb{padding:0;border:2px solid var(--line);border-radius:10px;overflow:hidden;background:var(--surface-2);cursor:pointer;width:104px;height:64px;flex:0 0 auto;transition:.15s ease}.gallery-thumb:hover{border-color:var(--muted)}.gallery-thumb.active{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.gallery-thumb img{width:100%;height:100%;object-fit:cover;display:block}.site-footer{border-top:1px solid var(--line);color:var(--muted)}.site-footer .shell{padding-block:28px;font-size:.9rem}.detail-content{line-height:1.8;font-size:1rem;min-width:0;max-width:100%}.detail-content h2{margin:28px 0 14px;font-size:1.45rem;letter-spacing:-.02em;border-bottom:1px solid var(--line);padding-bottom:8px}.detail-content h2:first-child{margin-top:0}.detail-content h3{margin:24px 0 10px;font-size:1.2rem;letter-spacing:-.01em;color:var(--text)}.detail-content h4{margin:18px 0 8px;font-size:1.05rem}.detail-content p{margin:0 0 14px;color:var(--muted)}.detail-content strong{color:var(--text);font-weight:700}.detail-content a{color:var(--accent);text-decoration:underline;text-underline-offset:3px}.detail-content a:hover{color:var(--accent-hover)}.detail-content ul,.detail-content ol{margin:0 0 16px 22px;padding:0;color:var(--muted)}.detail-content li{margin-bottom:6px}.detail-content li::marker{color:var(--accent)}.detail-content blockquote{margin:16px 0;padding:12px 18px;border-left:4px solid var(--accent);background:var(--surface-2);border-radius:0 10px 10px 0;color:var(--text)}.detail-content blockquote p{margin:0;color:var(--text)}.table-container{width:100%;overflow-x:auto;margin:18px 0 24px;border:1px solid var(--line);border-radius:12px}.table-container table{width:100%;border-collapse:collapse;text-align:left;font-size:.94rem}.table-container th,.table-container td{padding:12px 16px;border-bottom:1px solid var(--line)}.table-container th{background:var(--surface-2);font-weight:700;color:var(--text);white-space:nowrap}.table-container tr:last-child td{border-bottom:none}.table-container tr:hover td{background:color-mix(in srgb,var(--accent) 4%,transparent)}.markdown-img,.markdown-video{display:block;max-width:100%;height:auto;border-radius:12px;border:1px solid var(--line);margin:16px 0 22px;background:var(--surface-2)}.video-container{position:relative;width:100%;aspect-ratio:16 / 9;margin:16px 0 22px;border-radius:12px;overflow:hidden;border:1px solid var(--line);background:#000}.video-container iframe{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;border:0}.detail-content pre{background:var(--surface-2);border:1px solid var(--line);border-radius:10px;padding:14px;overflow-x:auto;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.88rem;margin:14px 0}.detail-content code{background:var(--surface-2);padding:2px 6px;border-radius:6px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.88rem}.detail-content pre code{background:none;padding:0}.code-block-container{position:relative;margin:16px 0;max-width:100%;min-width:0}.code-block-container pre{margin:0;padding:42px 16px 14px;overflow-x:auto;max-width:100%}.code-copy-btn{position:absolute;top:8px;right:8px;display:inline-flex;align-items:center;gap:6px;padding:5px 10px;font-size:.78rem;font-weight:600;color:var(--muted);background:var(--surface);border:1px solid var(--line);border-radius:6px;cursor:pointer;transition:all .15s ease;-webkit-user-select:none;user-select:none;z-index:2}.code-copy-btn:hover{color:var(--text);background:var(--surface-2);border-color:var(--muted)}.code-copy-btn.copied{color:#4ade80;border-color:#4ade80;background:#4ade801f}.detail-content .mermaid{margin:18px 0 24px;padding:18px;border:1px solid var(--line);border-radius:12px;background:var(--surface-2);overflow-x:auto;text-align:center}.detail-content .mermaid svg{max-width:100%;height:auto!important}@media(max-width:900px){.tool-grid,.detail-layout{grid-template-columns:1fr}.detail-sidebar{position:static;max-height:none;overflow:visible;order:-1}}@media(max-width:560px){.shell{width:min(100% - 22px,1120px)}.page-main{padding-block:42px 64px}.tool-card{grid-template-columns:78px minmax(0,1fr);gap:14px;padding:15px}.tool-card-icon{width:78px;height:78px;border-radius:14px}.tool-card-top{display:block}.version-badge{margin-top:7px}.tool-card-actions{grid-column:1 / -1}.button{flex:1 1 auto}.sidebar-card{padding:18px}.sidebar-download-part .download-row{flex-direction:row;align-items:center}.gallery-thumb{width:84px;height:52px}}.analytics-exclusion{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:8px 20px;padding:12px 20px;background:#e1f3ed;color:#184b3e;border-bottom:1px solid #9cc9ba;font-size:13px}.analytics-exclusion a{color:#184b3e;text-decoration:underline;padding:8px 0}
