lite-youtube{background-color:#000;position:relative;display:block;contain:content;background-position:center center;background-size:cover;cursor:pointer;max-width:720px}lite-youtube:before{content:attr(data-title);display:block;position:absolute;top:0;background-image:linear-gradient(180deg,#000000ab,#0000008a 14%,#00000026 54%,#0000000d 72%,#0000 94%);height:99px;width:100%;font-family:YouTube Noto,Roboto,Arial,Helvetica,sans-serif;color:#eee;text-shadow:0 0 2px rgba(0,0,0,.5);font-size:18px;padding:25px 20px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;box-sizing:border-box}lite-youtube:hover:before{color:#fff}lite-youtube:after{content:"";display:block;padding-bottom:56.25%}lite-youtube>iframe{width:100%;height:100%;position:absolute;top:0;left:0;border:0}lite-youtube>.lty-playbtn{display:block;width:100%;height:100%;background:no-repeat center/68px 48px;background-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 68 48"><path d="M66.52 7.74c-.78-2.93-2.49-5.41-5.42-6.19C55.79.13 34 0 34 0S12.21.13 6.9 1.55c-2.93.78-4.63 3.26-5.42 6.19C.06 13.05 0 24 0 24s.06 10.95 1.48 16.26c.78 2.93 2.49 5.41 5.42 6.19C12.21 47.87 34 48 34 48s21.79-.13 27.1-1.55c2.93-.78 4.64-3.26 5.42-6.19C67.94 34.95 68 24 68 24s-.06-10.95-1.48-16.26z" fill="red"/><path d="M45 24 27 14v20" fill="white"/></svg>');position:absolute;cursor:pointer;z-index:1;filter:grayscale(100%);transition:filter .1s cubic-bezier(0,0,.2,1);border:0}lite-youtube:hover>.lty-playbtn,lite-youtube .lty-playbtn:focus{filter:none}lite-youtube.lyt-activated{cursor:unset}lite-youtube.lyt-activated:before,lite-youtube.lyt-activated>.lty-playbtn{opacity:0;pointer-events:none}.lyt-visually-hidden{clip:rect(0 0 0 0);clip-path:inset(50%);height:1px;overflow:hidden;position:absolute;white-space:nowrap;width:1px}:root{--primary: #3498db;--secondary: #06f;--dark: #2c3e50;--light: #ecf0f1;--header-dark: #2c3e50;--header-dark-lighter: #304a61;--header-light: #ecf0f1;--nav-hover: #23272F;--focus-border: #4C9FFF;--btn-bg: var(--primary);--btn-text: #fff;--custom-btn-text: #fff;--custom-btn-bg: #0077C8;--custom-btn-hover: #106FBF;--code-bg: #f5f5f5;--code-color: #23272f;--code-border: #ccc;--code-comment: #818181;--code-radius: .5rem;--code-font: "Fira Code", monospace;--code-btn-bg: #0077C8;--code-btn-bg-hover: #106FBF;--code-btn-color: #fff;--code-btn-padding: .3rem .6rem;--code-btn-font-size: .85rem;--code-btn-radius: .25rem;--form-bg: #fafafa;--form-border: #e0e0e0;--border: #f2f2f2;--border-radius: 8px;--input-bg: #fff;--placeholder-text-color: #727272;--bg-color: #f9f9f9;--text-color: #333;--footer-bg: var(--light);--footer-text: #555;--footer-link: var(--dark)}[data-theme=dark]{--primary: #5dade2;--secondary: #56BFD7;--dark: #ecf0f1;--light: #2c3e50;--header-dark: #14151A;--header-dark-lighter: #14151A;--header-light: #ecf0f1;--nav-hover: #333A45;--focus-border: #4C9FFF;--btn-bg: var(--dark);--btn-text: #fff;--custom-btn-text: #fff;--custom-btn-bg: #0077C8;--custom-btn-hover: #106FBF;--code-bg: #23272F;--code-color: #cdd6f4;--code-border: #292c3c;--code-comment: #aaa;--code-btn-bg: #0077C8;--code-btn-bg-hover: #106FBF;--form-bg: #23272F;--form-border: #23272F;--border: #23272F;--input-bg: #333A45;--placeholder-text-color: #7D8495;--bg-color: #1B1D24;--text-color: #C8C9CB;--footer-bg: #23272F;--footer-text: #bbb;--footer-link: var(--secondary)}html{scroll-behavior:smooth}body{font-family:system-ui,-apple-system,Segoe UI,sans-serif;margin:0;background-color:var(--bg-color);color:var(--text-color)}a{color:var(--secondary)}:focus-visible{outline:2px solid var(--focus-border);outline-offset:2px}header{background-color:var(--header-dark);color:var(--header-light);padding-bottom:1rem;display:flex;flex-direction:column;align-items:center;text-align:center}.header-nav{padding:.5rem 1rem;display:flex;flex-direction:row;justify-content:flex-end;gap:.3rem;width:calc(100% - 2rem)}.header-nav a,.header-nav button{display:flex;align-items:center;justify-content:center;height:42px;min-width:42px;border-radius:8px}.header-nav a:hover,.header-nav button:hover{background-color:var(--nav-hover)}.github-link svg{transition:opacity .2s;fill:var(--btn-text)}.header-link{font-size:.9rem;color:var(--header-light);text-decoration:none;padding:0 .5rem}.dark-mode-toggle{background:transparent;color:var(--header-light);cursor:pointer;padding:.4rem;font-size:1rem;display:inline-flex;align-items:center;gap:.4rem;border:none}.dark-mode-toggle .icon{width:20px;height:20px;stroke-width:2;stroke:currentColor;fill:none;stroke-linecap:round;stroke-linejoin:round}.dark-mode-toggle .sun{display:none}[data-theme=dark] .dark-mode-toggle{background:var(--header-dark);color:var(--header-light)}[data-theme=dark] .dark-mode-toggle:hover{opacity:.8}[data-theme=dark] .dark-mode-toggle .moon{display:none}[data-theme=dark] .dark-mode-toggle .sun{display:inline}header h1{font-size:2.5rem;margin-top:0;margin-bottom:1rem}header h1 a{color:var(--header-light);text-decoration:none}header p{margin-top:.5rem;padding:0 .5rem;font-size:1.1rem}.download-btn{display:inline-block;margin-top:1.5rem;margin-bottom:1rem;padding:.8rem 1.5rem;background:var(--custom-btn-bg);color:var(--custom-btn-text);border-radius:8px;text-decoration:none;font-size:1rem;transition:background .3s ease}.download-btn:hover{background:var(--custom-btn-hover)}section.star{display:flex;flex-direction:row;justify-content:center}section.star p{font-size:.78rem;line-height:1.25rem}.container{max-width:1000px;margin:2rem auto;padding:0 1rem}section{margin-bottom:2rem}section h2{color:var(--dark)}section p,section li{font-size:1rem;line-height:1.6rem;margin-left:auto;margin-right:auto}p.blockquote{border-left:4px solid var(--primary);padding:.5rem 1rem;color:var(--text-color);background-color:var(--light);margin:1rem 0}.cover-image{margin-bottom:.5rem}.cover-image img{max-width:100%;height:auto;object-fit:contain;display:block}.code-block{position:relative;display:inline-block;width:100%}.copy-btn{position:absolute;top:14px;right:.5rem;background:var(--code-btn-bg);color:var(--code-btn-color);border:none;padding:var(--code-btn-padding);font-size:var(--code-btn-font-size);border-radius:var(--code-btn-radius);cursor:pointer}.copy-btn:hover{background:var(--code-btn-bg-hover)}pre{background-color:var(--code-bg);color:var(--code-color);padding:1rem;border-radius:var(--code-radius);font-family:var(--code-font);font-size:1rem;margin:0;overflow-x:auto;border:1px solid var(--code-border)}pre .code-comment{color:var(--code-comment)}.video-container{position:relative;width:100%;max-width:560px;height:315px;overflow:hidden}.video-container lite-youtube{position:absolute;top:0;left:0;width:100%;height:100%;border:0}#contact{background-color:var(--background)}form{display:grid;gap:1rem;max-width:600px;padding:1rem;background-color:var(--form-bg);border:1px solid var(--form-border);border-radius:var(--border-radius)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}input,textarea{padding:.75rem;font-size:1rem;border:1px solid var(--form-border);border-radius:var(--border-radius);font-family:inherit;background-color:var(--input-bg);color:var(--text-color)}input::placeholder,textarea::placeholder{color:var(--placeholder-text-color);opacity:1}textarea{min-height:220px;resize:vertical}button[type=submit]{padding:.75rem;font-size:1rem;background-color:var(--custom-btn-bg);color:var(--custom-btn-text);border:none;border-radius:var(--border-radius);cursor:pointer;transition:background-color .2s ease-in-out}button[type=submit]:hover{background-color:var(--custom-btn-hover)}footer{text-align:center;padding:2rem;background:var(--footer-bg);font-size:.9rem;color:var(--footer-text)}.footer-links{display:flex;justify-content:center;flex-wrap:wrap;gap:1rem;margin-bottom:1rem}footer a{color:var(--footer-link);text-decoration:none;font-weight:600}footer a:hover{text-decoration:underline}footer p{line-height:1.5rem}#back-to-top{position:fixed;bottom:2rem;right:2rem;width:42px;height:42px;border:none;border-radius:50%;background-color:var(--custom-btn-bg);color:var(--custom-btn-text);font-size:1.3rem;cursor:pointer;opacity:0;visibility:hidden;z-index:1000;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}#back-to-top.show{opacity:1;visibility:visible}#back-to-top svg{width:28px;height:28px;fill:var(--custom-btn-text)}@media (max-width: 600px){header h1{font-size:2rem;margin-top:4rem}.download-btn{width:80%}.video-container{max-width:100%;padding-bottom:56.25%;height:0}footer{padding-bottom:6rem}}
