*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg: #0A0A0A;--surface: #111111;--surface2: #181818;--border: #242424;--border2: #2E2E2E;--text: #E8E8E8;--text-muted: #888888;--text-dim: #555555;--accent: #CDFF3E;--accent-dim: rgba(205,255,62,.1);--deny: #FF3232;--deny-dim: rgba(255,50,50,.12);--allow: #22C55E;--allow-dim: rgba(34,197,94,.12);--warning: #F59E0B;--mono: "IBM Plex Mono", monospace;--sans: "DM Sans", sans-serif}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--text);font-family:var(--sans);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}::selection{background:var(--accent);color:var(--bg)}@keyframes fadeUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}@keyframes ticker{0%{transform:translate(0)}to{transform:translate(-50%)}}@keyframes pulse-accent{0%,to{box-shadow:0 0 #cdff3e66}50%{box-shadow:0 0 0 6px #cdff3e00}}@keyframes pulse-deny{0%,to{box-shadow:0 0 #ff323266}50%{box-shadow:0 0 0 6px #ff323200}}.fade-up{animation:fadeUp .6s ease both}.delay-1{animation-delay:.1s}.delay-2{animation-delay:.2s}.delay-3{animation-delay:.3s}.delay-4{animation-delay:.4s}.delay-5{animation-delay:.5s}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:var(--border2);border-radius:2px}::-webkit-scrollbar-thumb:hover{background:var(--text-dim)}.accent{color:var(--accent)}.text-muted{color:var(--text-muted)}.text-dim{color:var(--text-dim)}.text-bright{color:var(--text)}.mono{font-family:var(--mono)}.section-label{font-family:var(--mono);font-size:11px;letter-spacing:.15em;color:var(--text-dim);margin-bottom:24px;display:flex;align-items:center;gap:12px}.code-block{background:var(--surface);border:1px solid var(--border);border-radius:4px;overflow:hidden}.code-header{border-bottom:1px solid var(--border);padding:8px 16px;display:flex;justify-content:space-between;align-items:center}.code-label{font-family:var(--mono);font-size:11px;color:var(--text-dim);letter-spacing:.08em}.code-pre{font-family:var(--mono);font-size:13px;line-height:1.7;color:var(--text);padding:16px;overflow-x:hidden;white-space:pre-wrap;word-break:break-word;margin:0}.copy-btn{background:none;border:1px solid var(--border2);color:var(--text-muted);font-family:var(--mono);font-size:11px;padding:4px 10px;cursor:pointer;border-radius:3px;transition:all .15s ease;letter-spacing:.05em}.copy-btn:hover{border-color:var(--text-muted)}.copy-btn.copied{color:var(--accent);border-color:var(--accent)}.install-box{background:var(--surface);border:1px solid var(--border);border-radius:4px;padding:14px 20px;display:flex;align-items:center;justify-content:space-between;gap:16px}.install-box--primary{border-color:var(--border2)}.install-code{font-family:var(--mono);font-size:13px;color:var(--text-muted);word-break:break-all;min-width:0}.install-code--accent{color:var(--accent)}.faq-list{display:flex;flex-direction:column;gap:1px;background:var(--border)}.faq-item{background:var(--bg);cursor:pointer;transition:background .15s ease}.faq-item.open{background:var(--surface)}.faq-question{padding:20px 24px;display:flex;justify-content:space-between;align-items:center;gap:16px}.faq-q-text{font-size:15px;font-weight:500}.faq-toggle{font-family:var(--mono);font-size:16px;color:var(--text-muted);transition:transform .2s ease;flex-shrink:0}.faq-item.open .faq-toggle{transform:rotate(45deg)}.faq-answer{display:none;padding:20px 24px;border-top:1px solid var(--border)}.faq-item.open .faq-answer{display:block}.faq-answer p{font-size:14px;color:var(--text-muted);line-height:1.7;font-weight:300}.badge{font-family:var(--mono);font-size:10px;font-weight:600;letter-spacing:.1em;padding:2px 8px;border-radius:2px;display:inline-block;flex-shrink:0}.badge-deny{background:var(--deny-dim);color:var(--deny);border:1px solid rgba(255,50,50,.3)}.badge-allow{background:var(--allow-dim);color:var(--allow);border:1px solid rgba(34,197,94,.3)}.line-clamp-2{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.line-clamp-3{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.site-nav{position:sticky;top:0;z-index:100;background:#0a0a0af2;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--border);padding:0 40px;display:flex;align-items:center;justify-content:space-between;height:56px}.nav-left{display:flex;align-items:center;gap:8px}.nav-logo{font-family:var(--mono);font-size:13px;font-weight:600;color:var(--text);letter-spacing:.05em;text-decoration:none}.nav-badge{background:var(--surface2);border:1px solid var(--border);color:var(--text-muted);font-family:var(--mono);font-size:10px;padding:2px 6px;border-radius:2px;letter-spacing:.08em}.nav-right{display:flex;align-items:center;gap:32px}.nav-link{color:var(--text-muted);text-decoration:none;font-size:13px;font-family:var(--mono);letter-spacing:.05em;transition:color .15s ease}.nav-link:hover,.nav-link.active{color:var(--accent)}.nav-github{background:var(--surface2);border:1px solid var(--border2);color:var(--text);text-decoration:none;font-size:12px;font-family:var(--mono);letter-spacing:.05em;padding:7px 14px;border-radius:3px;transition:border-color .15s ease}.nav-github:hover{border-color:var(--accent)}.nav-burger{display:none;flex-direction:column;justify-content:center;align-items:center;width:32px;height:32px;gap:5px;background:none;border:none;cursor:pointer;padding:0}.burger-line{display:block;width:18px;height:1.5px;background:var(--text);transition:transform .2s ease,opacity .2s ease}.nav-burger.open .burger-line:nth-child(1){transform:translateY(6.5px) rotate(45deg)}.nav-burger.open .burger-line:nth-child(2){opacity:0}.nav-burger.open .burger-line:nth-child(3){transform:translateY(-6.5px) rotate(-45deg)}.nav-mobile{display:none;position:fixed;inset:56px 0 0;z-index:99;background:var(--bg);border-top:1px solid var(--border);flex-direction:column;padding:32px 20px;gap:0}.nav-mobile.open{display:flex}.nav-mobile-link{font-family:var(--mono);font-size:14px;color:var(--text-muted);text-decoration:none;letter-spacing:.05em;padding:16px 0;border-bottom:1px solid var(--border);transition:color .15s ease}.nav-mobile-link:first-child{border-top:1px solid var(--border)}.nav-mobile-link:hover,.nav-mobile-link.active{color:var(--accent)}.nav-mobile-github{font-family:var(--mono);font-size:12px;color:var(--text);text-decoration:none;letter-spacing:.05em;background:var(--surface2);border:1px solid var(--border2);border-radius:3px;padding:12px 20px;text-align:center;margin-top:24px;transition:border-color .15s ease}.nav-mobile-github:hover{border-color:var(--accent)}@media(max-width:768px){.site-nav{padding:0 20px}.nav-right{display:none}.nav-burger{display:flex}}.contact-overlay{display:none;position:fixed;inset:0;z-index:10000;background:#0a0a0ae6;align-items:center;justify-content:center;padding:20px}.contact-overlay.open{display:flex}.contact-modal{max-width:480px;width:100%;background:var(--bg);border:1px solid var(--border);border-radius:4px;padding:40px;position:relative}.contact-close{position:absolute;top:16px;right:16px;background:none;border:none;color:var(--text-dim);font-size:20px;cursor:pointer;transition:color .15s ease;line-height:1}.contact-close:hover{color:var(--text)}.contact-header{margin-bottom:32px}.contact-label{font-family:var(--mono);font-size:11px;letter-spacing:.15em;color:var(--text-dim);margin-bottom:12px}.contact-accent{color:var(--accent)}.contact-sub{font-size:14px;color:var(--text-muted);font-weight:300;line-height:1.5}.contact-form{display:flex;flex-direction:column;gap:20px}.contact-field{display:flex;flex-direction:column;gap:6px}.contact-field-label{font-family:var(--mono);font-size:10px;color:var(--text-dim);letter-spacing:.1em}.contact-input{background:var(--surface);border:1px solid var(--border);border-radius:3px;padding:10px 14px;color:var(--text);font-family:var(--sans);font-size:14px;font-weight:300;transition:border-color .15s ease;outline:none}.contact-input:focus{border-color:var(--accent)}.contact-textarea{resize:none;min-height:100px}.contact-actions{display:flex;gap:12px;margin-top:8px}.contact-cancel{flex:1;background:none;border:1px solid var(--border2);color:var(--text-muted);font-family:var(--mono);font-size:11px;letter-spacing:.05em;padding:10px;border-radius:3px;cursor:pointer;transition:border-color .15s ease}.contact-cancel:hover{border-color:var(--text-muted)}.contact-submit{flex:1;background:var(--accent);border:none;color:var(--bg);font-family:var(--mono);font-size:11px;font-weight:600;letter-spacing:.05em;padding:10px;border-radius:3px;cursor:pointer;transition:opacity .15s ease}.contact-submit:hover{opacity:.9}.contact-success{display:none;text-align:center;padding:32px 0}.contact-success-text{font-family:var(--mono);font-size:14px;color:var(--accent);letter-spacing:.05em;margin-bottom:8px}.contact-success-sub{font-size:13px;color:var(--text-muted);font-weight:300}@media(max-width:768px){.contact-modal{padding:24px}}.site-footer{border-top:1px solid var(--border);padding:24px 40px;display:flex;justify-content:space-between;align-items:center}.footer-copy{font-family:var(--mono);font-size:11px;color:var(--text-dim);letter-spacing:.05em}.footer-links{display:flex;gap:24px}.footer-links a{font-family:var(--mono);font-size:11px;color:var(--text-dim);text-decoration:none;letter-spacing:.05em;transition:color .15s ease}.footer-links a:hover{color:var(--accent)}@media(max-width:768px){.site-footer{padding:24px 20px;flex-direction:column;gap:16px}}
