:root{--has-fgp: initial;--element-has-fgp: initial;--parent-has-fgp: initial}:root{--bg-color: #f5f5f5;--container-bg: white;--text-color: #333;--text-secondary: #666;--button-bg: #4CAF50;--button-hover: #45a049;--section-bg: #f8f9fa;--section-border: #e9ecef;--shadow-color: rgba(0, 0, 0, .1);--info-bg: #d1ecf1;--info-text: #0c5460;--info-border: #bee5eb;--accent-color: #0078d4;--accent-hover: #106ebe;--card-hover: #f0f0f0;--link-color: #0078d4;--border-color: #e0e0e0;--license-bg: #f4f4f4;--license-border: #ddd;--code-bg: #f6f8fa}[data-theme=dark]{--bg-color: #121212;--container-bg: #1e1e1e;--text-color: #e0e0e0;--text-secondary: #aaa;--button-bg: #2e7d32;--button-hover: #1b5e20;--section-bg: #252525;--section-border: #404040;--shadow-color: rgba(0, 0, 0, .3);--info-bg: #0c2b33;--info-text: #4db6d0;--info-border: #063642;--accent-color: #4db6d0;--accent-hover: #3da3bc;--card-hover: #333;--input-border: #444;--input-focus: #0069d9;--link-color: #4db6d0;--border-color: #444;--license-bg: #2a2a2a;--license-border: #555;--code-bg: #1e1e1e}*{box-sizing:border-box;transition:background-color .3s,color .3s,border-color .3s}body{font-family:Segoe UI,Microsoft YaHei,sans-serif;display:flex;justify-content:center;align-items:flex-start;min-height:100vh;margin:0;padding:40px 20px;background-color:var(--bg-color);color:var(--text-color);line-height:1.6}.opensource-container{background-color:var(--container-bg);padding:40px;border-radius:16px;box-shadow:0 8px 30px var(--shadow-color);width:100%;max-width:900px;position:relative}h1{color:var(--text-color);margin:0 0 10px;font-size:32px;font-weight:600;text-align:center}.subtitle{color:var(--text-secondary);margin-bottom:40px;font-size:16px;text-align:center}.section{margin:30px 0;padding:25px;background-color:var(--section-bg);border-radius:12px;border:1px solid var(--section-border)}.flex-gap-not-supported .section-title>*>*{--parent-has-fgp: initial;--fgp-parent-gap-row: initial;--fgp-parent-gap-column: initial}.flex-gap-not-supported .section-title>*{--parent-has-fgp: !important;--element-has-fgp: initial;--fgp-parent-gap-row: 12px;--fgp-margin-top: var(--parent-has-fgp) calc(var(--fgp-gap-row) + var(--orig-margin-top, 0px));margin-top:var(--fgp-margin-top);--fgp-parent-gap-column: 12px;--fgp-margin-left: var(--parent-has-fgp) calc(var(--fgp-gap-column) + var(--orig-margin-left, 0px));margin-left:var(--fgp-margin-left)}.flex-gap-not-supported .section-title{--has-fgp: ;--element-has-fgp: ;--fgp-gap-row: 12px;--fgp-margin-top: var(--has-fgp) calc(var(--fgp-parent-gap-row, 0px) / (1 + var(--fgp--parent-gap-as-decimal, 0)) - var(--fgp-gap-row) + var(--orig-margin-top, 0px)) !important;--fgp-gap-column: 12px;--fgp-margin-left: var(--has-fgp) calc(var(--fgp-parent-gap-column, 0px) / (1 + var(--fgp--parent-gap-as-decimal, 0)) - var(--fgp-gap-column) + var(--orig-margin-left, 0px)) !important}.section-title{display:flex;align-items:center;--fgp-gap: var(--has-fgp, 12px);gap:var(--fgp-gap, 0px);margin-bottom:20px;color:var(--text-color);font-size:20px;font-weight:600;padding-bottom:15px;border-bottom:2px solid var(--border-color);margin-top:var(--fgp-margin-top, var(--orig-margin-top));margin-left:var(--fgp-margin-left, var(--orig-margin-left))}.section-title i{font-size:24px;color:var(--accent-color)}.lib-card{margin:20px 0;padding:20px;background-color:var(--container-bg);border:1px solid var(--border-color);border-radius:8px}.flex-gap-not-supported .lib-header>*>*{--parent-has-fgp: initial;--fgp-parent-gap-row: initial;--fgp-parent-gap-column: initial}.flex-gap-not-supported .lib-header>*{--parent-has-fgp: !important;--element-has-fgp: initial;--fgp-parent-gap-row: 10px;--fgp-margin-top: var(--parent-has-fgp) calc(var(--fgp-gap-row) + var(--orig-margin-top, 0px));margin-top:var(--fgp-margin-top);--fgp-parent-gap-column: 10px;--fgp-margin-left: var(--parent-has-fgp) calc(var(--fgp-gap-column) + var(--orig-margin-left, 0px));margin-left:var(--fgp-margin-left)}.flex-gap-not-supported .lib-header{--has-fgp: ;--element-has-fgp: ;--fgp-gap-row: 10px;--fgp-margin-top: var(--has-fgp) calc(var(--fgp-parent-gap-row, 0px) / (1 + var(--fgp--parent-gap-as-decimal, 0)) - var(--fgp-gap-row) + var(--orig-margin-top, 0px)) !important;--fgp-gap-column: 10px;--fgp-margin-left: var(--has-fgp) calc(var(--fgp-parent-gap-column, 0px) / (1 + var(--fgp--parent-gap-as-decimal, 0)) - var(--fgp-gap-column) + var(--orig-margin-left, 0px)) !important}.lib-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px;flex-wrap:wrap;--fgp-gap: var(--has-fgp, 10px);gap:var(--fgp-gap, 0px);margin-top:var(--fgp-margin-top, var(--orig-margin-top));margin-left:var(--fgp-margin-left, var(--orig-margin-left))}.flex-gap-not-supported .lib-name>*>*{--parent-has-fgp: initial;--fgp-parent-gap-row: initial;--fgp-parent-gap-column: initial}.flex-gap-not-supported .lib-name>*{--parent-has-fgp: !important;--element-has-fgp: initial;--fgp-parent-gap-row: 10px;--fgp-margin-top: var(--parent-has-fgp) calc(var(--fgp-gap-row) + var(--orig-margin-top, 0px));margin-top:var(--fgp-margin-top);--fgp-parent-gap-column: 10px;--fgp-margin-left: var(--parent-has-fgp) calc(var(--fgp-gap-column) + var(--orig-margin-left, 0px));margin-left:var(--fgp-margin-left)}.flex-gap-not-supported .lib-name{--has-fgp: ;--element-has-fgp: ;--fgp-gap-row: 10px;--fgp-margin-top: var(--has-fgp) calc(var(--fgp-parent-gap-row, 0px) / (1 + var(--fgp--parent-gap-as-decimal, 0)) - var(--fgp-gap-row) + var(--orig-margin-top, 0px)) !important;--fgp-gap-column: 10px;--fgp-margin-left: var(--has-fgp) calc(var(--fgp-parent-gap-column, 0px) / (1 + var(--fgp--parent-gap-as-decimal, 0)) - var(--fgp-gap-column) + var(--orig-margin-left, 0px)) !important}.lib-name{font-size:18px;font-weight:600;color:var(--text-color);display:flex;align-items:center;--fgp-gap: var(--has-fgp, 10px);gap:var(--fgp-gap, 0px);margin-top:var(--fgp-margin-top, var(--orig-margin-top));margin-left:var(--fgp-margin-left, var(--orig-margin-left))}.lib-name i{color:var(--accent-color)}.flex-gap-not-supported .lib-meta>*>*{--parent-has-fgp: initial;--fgp-parent-gap-row: initial;--fgp-parent-gap-column: initial}.flex-gap-not-supported .lib-meta>*{--parent-has-fgp: !important;--element-has-fgp: initial;--fgp-parent-gap-row: 10px;--fgp-margin-top: var(--parent-has-fgp) calc(var(--fgp-gap-row) + var(--orig-margin-top, 0px));margin-top:var(--fgp-margin-top);--fgp-parent-gap-column: 10px;--fgp-margin-left: var(--parent-has-fgp) calc(var(--fgp-gap-column) + var(--orig-margin-left, 0px));margin-left:var(--fgp-margin-left)}.flex-gap-not-supported .lib-meta{--has-fgp: ;--element-has-fgp: ;--fgp-gap-row: 10px;--fgp-margin-top: var(--has-fgp) calc(var(--fgp-parent-gap-row, 0px) / (1 + var(--fgp--parent-gap-as-decimal, 0)) - var(--fgp-gap-row) + var(--orig-margin-top, 0px)) !important;--fgp-gap-column: 10px;--fgp-margin-left: var(--has-fgp) calc(var(--fgp-parent-gap-column, 0px) / (1 + var(--fgp--parent-gap-as-decimal, 0)) - var(--fgp-gap-column) + var(--orig-margin-left, 0px)) !important}.lib-meta{display:flex;--fgp-gap: var(--has-fgp, 10px);gap:var(--fgp-gap, 0px);align-items:center;margin-top:var(--fgp-margin-top, var(--orig-margin-top));margin-left:var(--fgp-margin-left, var(--orig-margin-left))}.version-badge{padding:4px 12px;background-color:var(--accent-color);color:#fff;border-radius:20px;font-size:13px;font-weight:500}.license-type{padding:4px 12px;border-radius:20px;font-size:13px;font-weight:600;border:1px solid}.license-type.mit{background-color:#4caf5026;color:#4caf50;border-color:#4caf504d}.license-type.apache{background-color:#ff980026;color:#ff9800;border-color:#ff98004d}.purpose-text{color:var(--text-secondary);font-size:14px;margin-bottom:15px;padding-bottom:15px;border-bottom:1px solid var(--border-color)}.license-box{background-color:var(--license-bg);border:1px solid var(--license-border);border-radius:6px;padding:15px;margin-top:10px}.license-title{font-size:13px;font-weight:600;color:var(--text-secondary);margin-bottom:10px;text-transform:uppercase;letter-spacing:.5px}.license-text{font-family:Consolas,Monaco,Courier New,monospace;font-size:12px;line-height:1.5;color:var(--text-color);white-space:pre-wrap;word-wrap:break-word;max-height:300px;overflow-y:auto;padding:10px;background-color:var(--code-bg);border-radius:4px}.license-text::-webkit-scrollbar{width:8px}.license-text::-webkit-scrollbar-track{background:var(--license-bg);border-radius:4px}.license-text::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:4px}.info-section{margin:25px 0;padding:20px;background-color:var(--info-bg);border-radius:10px;border:1px solid var(--info-border)}.info-text{color:var(--info-text);font-size:14px;margin:8px 0;display:flex;align-items:center}.info-text i{margin-right:10px;min-width:20px}.back-button{display:inline-flex;align-items:center;justify-content:center;padding:15px 30px;background-color:var(--button-bg);color:#fff;text-decoration:none;border-radius:8px;font-size:16px;font-weight:500;margin-top:30px;transition:all .3s ease;border:none;cursor:pointer;box-shadow:0 4px 12px #4caf5033}.back-button:hover{background-color:var(--button-hover);transform:translateY(-2px);box-shadow:0 6px 16px #4caf504d}.back-button i{margin-right:10px}.copyright{color:var(--text-secondary);font-size:13px;margin:40px 0 0;padding-top:20px;border-top:1px solid var(--section-border);text-align:center}.theme-toggle{position:absolute;top:20px;right:20px;background:none;border:none;font-size:24px;cursor:pointer;color:var(--text-color);opacity:.7;padding:8px;border-radius:50%;transition:all .3s;width:44px;height:44px;display:flex;align-items:center;justify-content:center}.theme-toggle:hover{opacity:1;background-color:#0000001a;transform:rotate(15deg)}@media(max-width:768px){.opensource-container{padding:25px 20px}h1{font-size:26px}.lib-header{flex-direction:column;align-items:flex-start}.license-text{max-height:200px}}@media(max-width:480px){body,.opensource-container{padding:20px 15px}h1{font-size:22px}}footer{margin-top:40px;padding:20px;text-align:center;color:var(--text-secondary);border-top:1px solid var(--border-color);font-size:12px;width:100%;background-color:var(--container-bg);border-radius:0 0 16px 16px}.footer-content{display:flex;justify-content:center;align-items:center;width:100%}.flex-gap-not-supported .footer-info>*>*{--parent-has-fgp: initial;--fgp-parent-gap-row: initial;--fgp-parent-gap-column: initial}.flex-gap-not-supported .footer-info>*{--parent-has-fgp: !important;--element-has-fgp: initial;--fgp-parent-gap-row: 12px;--fgp-margin-top: var(--parent-has-fgp) calc(var(--fgp-gap-row) + var(--orig-margin-top, 0px));margin-top:var(--fgp-margin-top);--fgp-parent-gap-column: 12px;--fgp-margin-left: var(--parent-has-fgp) calc(var(--fgp-gap-column) + var(--orig-margin-left, 0px));margin-left:var(--fgp-margin-left)}.flex-gap-not-supported .footer-info{--has-fgp: ;--element-has-fgp: ;--fgp-gap-row: 12px;--fgp-margin-top: var(--has-fgp) calc(var(--fgp-parent-gap-row, 0px) / (1 + var(--fgp--parent-gap-as-decimal, 0)) - var(--fgp-gap-row) + var(--orig-margin-top, 0px)) !important;--fgp-gap-column: 12px;--fgp-margin-left: var(--has-fgp) calc(var(--fgp-parent-gap-column, 0px) / (1 + var(--fgp--parent-gap-as-decimal, 0)) - var(--fgp-gap-column) + var(--orig-margin-left, 0px)) !important}.footer-info{display:flex;flex-direction:column;align-items:center;--fgp-gap: var(--has-fgp, 12px);gap:var(--fgp-gap, 0px);margin-top:var(--fgp-margin-top, var(--orig-margin-top));margin-left:var(--fgp-margin-left, var(--orig-margin-left))}.footer-text{margin:0;font-size:13px;color:var(--text-secondary)}.flex-gap-not-supported .footer-links>*>*{--parent-has-fgp: initial;--fgp-parent-gap-row: initial;--fgp-parent-gap-column: initial}.flex-gap-not-supported .footer-links>*{--parent-has-fgp: !important;--element-has-fgp: initial;--fgp-parent-gap-row: 15px;--fgp-margin-top: var(--parent-has-fgp) calc(var(--fgp-gap-row) + var(--orig-margin-top, 0px));margin-top:var(--fgp-margin-top);--fgp-parent-gap-column: 15px;--fgp-margin-left: var(--parent-has-fgp) calc(var(--fgp-gap-column) + var(--orig-margin-left, 0px));margin-left:var(--fgp-margin-left)}.flex-gap-not-supported .footer-links{--has-fgp: ;--element-has-fgp: ;--fgp-gap-row: 15px;--fgp-margin-top: var(--has-fgp) calc(var(--fgp-parent-gap-row, 0px) / (1 + var(--fgp--parent-gap-as-decimal, 0)) - var(--fgp-gap-row) + var(--orig-margin-top, 0px)) !important;--fgp-gap-column: 15px;--fgp-margin-left: var(--has-fgp) calc(var(--fgp-parent-gap-column, 0px) / (1 + var(--fgp--parent-gap-as-decimal, 0)) - var(--fgp-gap-column) + var(--orig-margin-left, 0px)) !important}.footer-links{display:flex;--fgp-gap: var(--has-fgp, 15px);gap:var(--fgp-gap, 0px);justify-content:center;align-items:center;flex-wrap:wrap;margin-top:var(--fgp-margin-top, var(--orig-margin-top));margin-left:var(--fgp-margin-left, var(--orig-margin-left))}.footer-links a{color:var(--text-secondary);text-decoration:none;transition:color .3s,transform .2s;font-size:12px;padding:4px 8px;border-radius:4px}.footer-links a:hover{color:var(--text-color);text-decoration:underline;transform:translateY(-1px);background-color:var(--section-bg)}@media(max-width:768px){.footer-links{gap:10px}.footer-links a{font-size:11px;padding:3px 6px}}
