*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root,body.dark-mode{--primary-color: #4A90E2;--primary-color-dark: #357ABD;--secondary-color: #50C878;--accent-color: #8B5CF6;--bg-primary: #0D1117;--bg-secondary: #161B22;--bg-tertiary: #21262D;--card-bg: #161B22;--footer-bg: #0D1117;--header-bg: rgba(13, 17, 23, .95);--section-bg: #0D1117;--hover-bg: #21262D;--input-bg: #0D1117;--code-bg: #161B22;--border-color: #30363D;--text-primary: #C9D1D9;--text-secondary: #8B949E;--text-tertiary: #6E7681;color-scheme:dark}body.light-mode{--primary-color: #4A90E2;--primary-color-dark: #357ABD;--secondary-color: #50C878;--accent-color: #8B5CF6;--bg-primary: #FFFFFF;--bg-secondary: #F6F8FA;--bg-tertiary: #FFFFFF;--card-bg: #FFFFFF;--footer-bg: #F6F8FA;--header-bg: rgba(255, 255, 255, .95);--section-bg: #F6F8FA;--hover-bg: #F6F8FA;--input-bg: #F6F8FA;--code-bg: #F6F8FA;--border-color: #D0D7DE;--text-primary: #24292F;--text-secondary: #57606A;--text-tertiary: #6E7781;color-scheme:light}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;background:var(--bg-primary);color:var(--text-primary);line-height:1.6;min-height:100vh;transition:background-color .3s ease,color .3s ease}h1,h2,h3,h4,h5,h6{font-weight:700;line-height:1.2;margin-bottom:.5rem;color:var(--text-primary)}h1{font-size:3rem;font-weight:800}@media (max-width: 768px){h1{font-size:2rem}}h2{font-size:2.5rem}@media (max-width: 768px){h2{font-size:1.75rem}}h3{font-size:2rem}@media (max-width: 768px){h3{font-size:1.5rem}}h4{font-size:1.5rem}h5{font-size:1.25rem}h6{font-size:1rem}p{margin-bottom:1rem;color:var(--text-secondary)}a{color:var(--primary-color);text-decoration:none;transition:opacity .2s}a:hover{opacity:.8}code{font-family:Monaco,Courier New,monospace;background:var(--code-bg);padding:.2rem .4rem;border-radius:.25rem;font-size:.9em}pre{background:var(--code-bg);padding:1rem;border-radius:.5rem;overflow-x:auto;margin-bottom:1rem}pre code{background:transparent;padding:0}input,textarea,select{font-family:inherit;font-size:1rem;color:var(--text-primary);background:var(--input-bg);border:1px solid var(--border-color);border-radius:.5rem;padding:.75rem;transition:border-color .2s}input:focus,textarea:focus,select:focus{outline:none;border-color:var(--primary-color)}input::placeholder,textarea::placeholder,select::placeholder{color:var(--text-tertiary)}button{font-family:inherit;cursor:pointer;border:none;background:none}.btn{display:inline-block;padding:.875rem 2rem;border-radius:.5rem;font-weight:600;text-align:center;transition:all .2s;cursor:pointer;border:2px solid transparent}.btn.btn-primary{background:var(--primary-color);color:#fff}.btn.btn-primary:hover{background:var(--primary-color-dark);transform:translateY(-2px);box-shadow:0 8px 16px #4a90e24d}.btn.btn-secondary{background:transparent;color:var(--text-primary);border-color:var(--border-color)}.btn.btn-secondary:hover{background:var(--hover-bg);border-color:var(--primary-color)}.btn.btn-outline{background:transparent;color:var(--primary-color);border-color:var(--primary-color)}.btn.btn-outline:hover{background:var(--primary-color);color:#fff}.container{max-width:1400px;margin:0 auto;padding:0 1.5rem}.text-center{text-align:center}.mt-1{margin-top:.5rem}.mt-2{margin-top:1rem}.mt-3{margin-top:1.5rem}.mt-4{margin-top:2rem}.mb-1{margin-bottom:.5rem}.mb-2{margin-bottom:1rem}.mb-3{margin-bottom:1.5rem}.mb-4{margin-bottom:2rem}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideIn{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}.fade-in{animation:fadeIn .5s ease-out}.slide-up{animation:slideUp .6s ease-out}.slide-in{animation:slideIn .5s ease-out}.loading{display:inline-block;width:20px;height:20px;border:3px solid var(--border-color);border-radius:50%;border-top-color:var(--primary-color);animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:var(--bg-secondary)}::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:5px}::-webkit-scrollbar-thumb:hover{background:var(--text-tertiary)}::selection{background:var(--primary-color);color:#fff}code[class*=language-],pre[class*=language-]{color:#ccc;background:none;font-family:Consolas,Monaco,Andale Mono,Ubuntu Mono,monospace;font-size:1em;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-hyphens:none;-moz-hyphens:none;-ms-hyphens:none;hyphens:none}pre[class*=language-]{padding:1em;margin:.5em 0;overflow:auto}:not(pre)>code[class*=language-],pre[class*=language-]{background:#2d2d2d}:not(pre)>code[class*=language-]{padding:.1em;border-radius:.3em;white-space:normal}.token.comment,.token.block-comment,.token.prolog,.token.doctype,.token.cdata{color:#999}.token.punctuation{color:#ccc}.token.tag,.token.attr-name,.token.namespace,.token.deleted{color:#e2777a}.token.function-name{color:#6196cc}.token.boolean,.token.number,.token.function{color:#f08d49}.token.property,.token.class-name,.token.constant,.token.symbol{color:#f8c555}.token.selector,.token.important,.token.atrule,.token.keyword,.token.builtin{color:#cc99cd}.token.string,.token.char,.token.attr-value,.token.regex,.token.variable{color:#7ec699}.token.operator,.token.entity,.token.url{color:#67cdcc}.token.important,.token.bold{font-weight:700}.token.italic{font-style:italic}.token.entity{cursor:help}.token.inserted{color:green}pre[class*=language-].line-numbers{position:relative;padding-left:3.8em;counter-reset:linenumber}pre[class*=language-].line-numbers>code{position:relative;white-space:inherit}.line-numbers .line-numbers-rows{position:absolute;pointer-events:none;top:0;font-size:100%;left:-3.8em;width:3em;letter-spacing:-1px;border-right:1px solid #999;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.line-numbers-rows>span{display:block;counter-increment:linenumber}.line-numbers-rows>span:before{content:counter(linenumber);color:#999;display:block;padding-right:.8em;text-align:right}
