:root{--primary-color:#333;--primary-hover:#000;--bg-color:#f5f5f5;--meta-color:#666;--article-bg:white;--nav-bg:white;--shadow:0 2px 5px #0000001a}:root[class~=dark]{--primary-color:#e1e1e1;--primary-hover:#fff;--bg-color:#1a1a1a;--meta-color:#9ca3af;--article-bg:#1e293b;--nav-bg:#1e293b;--shadow:0 2px 5px #0003}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;width:100%;max-width:100vw;overflow:hidden scroll}body{background:var(--bg-color);color:var(--primary-color);width:100%;max-width:100vw;margin:0;padding:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;line-height:1.6;transition:background-color .3s,color .3s;overflow-x:hidden}.container{box-sizing:border-box;max-width:960px;margin:0 auto;padding:20px;overflow-x:hidden}header{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:100px;display:flex;position:relative}header h1{color:var(--primary-color);margin:0 0 8px;padding:0;font-size:2.5rem;font-weight:700;line-height:1.2}header p{color:var(--meta-color);margin:0;padding:0;font-size:1rem;line-height:1.4}.layout{margin:20px 0}.layout.with-sidebar{grid-template-columns:1fr 250px;gap:20px;display:grid}.layout.with-sidebar aside{align-self:flex-start;position:sticky;top:20px}.layout>div{animation:.4s ease-out fadeIn}.article{background:var(--article-bg);box-shadow:var(--shadow);word-wrap:break-word;overflow-wrap:break-word;border-radius:4px;max-width:800px;margin:0 auto 20px;padding:25px;transition:transform .2s,box-shadow .2s}.article-card{min-height:200px}.layout.with-sidebar .article{min-width:0;max-width:none;margin:0 0 20px}.layout.with-sidebar .article:hover{transform:translateY(-2px);box-shadow:0 4px 15px #00000026}.article-single:hover{box-shadow:var(--shadow)!important;transform:none!important}:root[class~=dark] .layout.with-sidebar .article:hover{box-shadow:0 4px 15px #0000004d}:root[class~=dark] .article-single:hover{box-shadow:var(--shadow)!important}.article h2 a{color:var(--primary-color);text-decoration:none}.article .meta{color:var(--meta-color);margin:10px 0 15px;font-size:.9em}.read-more{text-align:right;margin-top:15px}.read-more a{color:var(--primary-color);align-items:center;font-weight:500;text-decoration:none;display:inline-flex}.read-more a:after{content:" →";transition:transform .2s}.read-more a:hover:after{transform:translate(3px)}.widget{background:var(--article-bg);box-shadow:var(--shadow);border-radius:4px;margin-bottom:20px;padding:20px}.widget h3{color:var(--primary-color);margin-bottom:15px;font-size:1em}.widget ul{list-style:none}.widget li{margin-bottom:10px}.widget a{color:var(--meta-color);text-decoration:none;transition:color .2s}.widget a:hover{color:var(--primary-hover)}footer{text-align:center;color:var(--meta-color);padding:20px 0;font-size:.9em}.timeline{padding-left:2.5rem;position:relative}.timeline:before{content:"";background-color:#eee;width:2px;height:100%;position:absolute;top:0;left:11px}:root[class~=dark] .timeline:before{background-color:#374151}.yearGroup{margin-bottom:2rem;position:relative}.year{color:var(--primary-color);border-bottom:1px solid #eee;align-items:center;gap:12px;margin-bottom:1.5rem;padding-bottom:.5rem;font-size:24px;font-weight:500;display:flex;position:relative}.year:before{content:"";background:var(--article-bg);border:1.5px solid #666;border-radius:50%;width:6px;height:6px;position:absolute;top:50%;left:-34px;transform:translateY(-50%)}:root[class~=dark] .year{border-bottom-color:#374151}:root[class~=dark] .year:before{border-color:#9ca3af}.monthGroup{margin-bottom:1.5rem}.month{color:var(--primary-color);align-items:center;gap:8px;margin-bottom:1rem;font-size:18px;font-weight:500;display:flex;position:relative}.month:before{content:"";background:#666;border-radius:50%;width:10px;height:10px;position:absolute;top:50%;left:-33px;transform:translateY(-50%)}:root[class~=dark] .month:before{background:#9ca3af}.count{color:var(--meta-color);font-size:14px;font-weight:400}.posts{margin:0;padding:0;list-style:none}.post{align-items:center;padding:.5rem 0 .5rem 1rem;display:flex;position:relative}.post:before{content:"";background:#ccc;border-radius:50%;width:6px;height:6px;position:absolute;top:50%;left:-31px;transform:translateY(-50%)}:root[class~=dark] .post:before{background:#4b5563}.postTitle{color:var(--primary-color);align-items:center;gap:1rem;line-height:1.5;text-decoration:none;transition:color .2s;display:flex}.postTitle:hover{color:var(--primary-hover)}.date{color:var(--meta-color);min-width:48px;font-size:14px}.intro{text-align:center;margin-bottom:2rem}.intro p{color:var(--meta-color);margin-bottom:.5rem}.grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem;display:grid}.card{background:var(--article-bg);box-shadow:var(--shadow);border-radius:8px;padding:1.5rem;text-decoration:none;transition:transform .2s,box-shadow .2s;display:block}.card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026}:root[class~=dark] .card:hover{box-shadow:0 4px 12px #0000004d}.name{color:var(--primary-color);margin-bottom:.5rem;font-size:1.2rem;font-weight:600}.description{color:var(--meta-color);font-size:.9rem;line-height:1.4}.title{color:var(--primary-color);margin-bottom:16px;font-size:1.75rem;font-weight:700;line-height:1.4}.meta{color:var(--meta-color);margin-bottom:16px;font-size:14px}.content{color:#444;word-wrap:break-word;overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto;min-width:0;font-size:16px;line-height:1.8}.content *{word-wrap:break-word;overflow-wrap:break-word;max-width:100%}.content a{word-break:break-all}.content p,.content li{word-break:break-word}:root[class~=dark] .content{color:#d1d5db}.content h1{color:var(--primary-color);border-bottom:2px solid #eee;margin:32px 0 20px;padding-bottom:12px;font-size:2rem;font-weight:600}.content h2{color:var(--primary-color);border-bottom:1px solid #eee;margin:28px 0 16px;padding-bottom:8px;font-size:1.5rem;font-weight:500}.content h3{color:var(--primary-color);margin:0 0 10px;font-size:1.25rem;font-weight:500}.content h4{color:var(--primary-color);margin:20px 0 10px;font-size:1.1rem;font-weight:500}:root[class~=dark] .content h1,:root[class~=dark] .content h2{border-bottom-color:#374151}.content a{color:#06c;word-wrap:break-word;border-bottom:1px solid #0000;text-decoration:none;transition:all .2s}.content a:hover{border-bottom-color:#06c}:root[class~=dark] .content a{color:#60a5fa}:root[class~=dark] .content a:hover{border-bottom-color:#60a5fa}.content ul,.content ol{margin:16px 0;padding-left:24px;line-height:1.7}.content li{margin-bottom:8px}.content ul li::marker{color:#06c}.content ol li::marker{color:#06c;font-weight:500}:root[class~=dark] .content ul li::marker{color:#60a5fa}:root[class~=dark] .content ol li::marker{color:#60a5fa}.content img{box-sizing:border-box;border-radius:8px;max-width:100%;height:auto;margin:2rem 0;display:block;box-shadow:0 4px 20px #0000001a}:root[class~=dark] .content img{box-shadow:0 4px 20px #0000004d}.content .code-block-wrapper{margin:16px 0;position:relative}.content .code-block-wrapper .code-scroll{background:#f8fafc;border:1px solid #0000001f;border-radius:8px;overflow-x:auto;box-shadow:0 1px 3px #00000014}.content .code-block-wrapper pre{background:0 0;min-width:0;margin:0;padding:16px 56px 16px 16px}.content pre{background:0 0;min-width:0;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:13px;line-height:1.6}:root[class~=dark] .content .code-block-wrapper .code-scroll{background:#0f172a;border-color:#ffffff26;box-shadow:0 1px 3px #0000004d}html[class~=dark] .shiki{background-color:var(--shiki-dark-bg)!important;color:var(--shiki-dark)!important}html[class~=dark] .shiki span{color:var(--shiki-dark)!important}.content pre.shiki{background-color:#0000!important}.content .code-block-wrapper,.content .code-scroll{position:relative}.content .code-block-wrapper .copy-button,.content .code-scroll .copy-button{cursor:pointer;opacity:0;color:#0f172a;z-index:10;background:#fffffff2;border:1px solid #0f172a1f;border-radius:6px;justify-content:center;align-items:center;margin:0;padding:5px 6px;transition:opacity .2s,background .2s,border-color .2s,color .2s;display:flex;position:absolute;top:12px;right:16px;box-shadow:0 4px 10px #0f172a1f}.content .code-block-wrapper .copy-button svg,.content .code-scroll .copy-button svg{width:16px;height:16px}.content .code-block-wrapper:hover .copy-button,.content .code-scroll:hover .copy-button,.content .code-block-wrapper .copy-button:focus-visible,.content .code-scroll .copy-button:focus-visible{opacity:1}.content .code-block-wrapper .copy-button:hover,.content .code-scroll .copy-button:hover{background:#fff;border-color:#0f172a40}.content .code-block-wrapper .copy-button.copied,.content .code-scroll .copy-button.copied{color:#fff;background:#22c55e;border-color:#22c55e}:root[class~=dark] .content .code-block-wrapper .copy-button,:root[class~=dark] .content .code-scroll .copy-button{color:#e2e8f0;background:#0f172ae6;border-color:#fff3}:root[class~=dark] .content .code-block-wrapper .copy-button:hover,:root[class~=dark] .content .code-scroll .copy-button:hover{background:#1e293bf2;border-color:#ffffff59}.content :not(pre)>code{color:#e53e3e;background:#f1f5f9;border-radius:4px;padding:.2rem .4rem;font-size:.875em;font-weight:500}:root[class~=dark] .content :not(pre)>code{color:#fc8181;background:#2d3748}.content blockquote{color:var(--meta-color);background:#f8fafc;border-left:4px solid #06c;border-radius:0 8px 8px 0;margin:24px 0;padding:16px 20px;font-style:italic;position:relative}.content blockquote:before{content:"\"";color:#06c;opacity:.3;font-size:3rem;position:absolute;top:-10px;left:10px}:root[class~=dark] .content blockquote{background:#1a202c;border-left-color:#60a5fa}:root[class~=dark] .content blockquote:before{color:#60a5fa}.content table{border-collapse:collapse;background:var(--article-bg);border-radius:8px;width:100%;margin:24px 0;overflow:hidden;box-shadow:0 2px 8px #0000000d}.content table th{color:#2d3748;text-align:left;background:#f8fafc;border-bottom:2px solid #e2e8f0;padding:12px 16px;font-weight:600}.content table td{border-bottom:1px solid #e2e8f0;padding:12px 16px}.content table tr:hover{background:#f8fafc}:root[class~=dark] .content table th{color:#e2e8f0;background:#2d3748;border-bottom-color:#4a5568}:root[class~=dark] .content table td{border-bottom-color:#4a5568}:root[class~=dark] .content table tr:hover{background:#2d3748}.content hr{background:linear-gradient(90deg,#06c,#60a5fa,#06c);border:none;border-radius:1px;height:2px;margin:32px 0}.pagination{z-index:1;flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;max-width:800px;margin:40px auto;display:flex;position:relative}.layout.with-sidebar .pagination{max-width:none;margin:40px 0}.pagination-nav{color:var(--primary-color);touch-action:manipulation;-webkit-tap-highlight-color:transparent;cursor:pointer;z-index:2;-webkit-user-select:none;user-select:none;border:1px solid #ddd;border-radius:4px;justify-content:center;align-items:center;padding:8px 16px;font-weight:500;text-decoration:none;transition:background .2s,color .2s,box-shadow .2s,opacity .2s;display:inline-flex;position:relative}.pagination-nav:hover{background:var(--primary-color);color:var(--bg-color);box-shadow:0 2px 8px #00000026}.pagination-nav:active,.pagination-nav:focus{outline:2px solid var(--primary-color);outline-offset:2px}.pagination-nav.loading{opacity:.6;pointer-events:none;cursor:wait}.pagination-nav[aria-disabled=true]{pointer-events:none}:root[class~=dark] .pagination-nav{border-color:#4a5568}.pagination-numbers{align-items:center;gap:4px;display:flex}.pagination-number{width:36px;height:36px;color:var(--primary-color);touch-action:manipulation;-webkit-tap-highlight-color:transparent;cursor:pointer;background:var(--article-bg);-webkit-user-select:none;user-select:none;border:1px solid #ddd;border-radius:4px;justify-content:center;align-items:center;font-weight:500;text-decoration:none;transition:background .2s,color .2s,box-shadow .2s,opacity .2s;display:flex}.pagination-number:hover{background:var(--primary-color);color:var(--bg-color);box-shadow:0 2px 8px #00000026}.pagination-number:active,.pagination-number:focus{outline:2px solid var(--primary-color);outline-offset:2px}.pagination-number.active{background:var(--primary-color);color:var(--bg-color);border-color:var(--primary-color);pointer-events:none;cursor:default}.pagination-number.loading{opacity:.6;pointer-events:none;cursor:wait;animation:1.5s ease-in-out infinite pulse}.pagination-number[aria-disabled=true]{pointer-events:none}.pagination-dots{color:var(--meta-color);padding:0 4px}:root[class~=dark] .pagination-number{border-color:#4a5568}.pagination-loading{color:var(--primary-color);justify-content:center;align-items:center;gap:8px;padding:12px 20px;font-size:14px;display:flex}.pagination-spinner{border:2px solid #f3f3f3;border-top:2px solid var(--primary-color);border-radius:50%;width:16px;height:16px;animation:1s linear infinite spin}@keyframes pulse{0%{opacity:.3}50%{opacity:.6}to{opacity:.3}}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.loading-container{text-align:center;padding:40px 20px}.loading-spinner{border:2px solid #f3f3f3;border-top:2px solid var(--primary-color);border-radius:50%;width:24px;height:24px;margin:0 auto 12px;animation:1s linear infinite spin}.loading-container p{color:var(--meta-color);font-size:14px}.posts-loading-list{flex-direction:column;gap:20px;display:flex}.posts-loading-card{flex-direction:column;justify-content:center;min-height:200px;display:flex;overflow:hidden}.posts-loading-line{background:var(--meta-color);opacity:.18;border-radius:4px;height:16px;animation:1.5s ease-in-out infinite pulse}.posts-loading-title{margin:0 0 12px}.posts-loading-title-line{opacity:.25;width:85%;height:22px;display:block}.posts-loading-meta{margin-bottom:16px}.posts-loading-meta-line{width:40%;display:block}.posts-loading-excerpt{flex-direction:column;gap:10px;margin-bottom:12px;display:flex}.posts-loading-excerpt-line{width:100%;display:block}.posts-loading-excerpt-short{width:72%}.posts-loading-readmore{width:90px;display:inline-block}@media (min-width:769px){.layout.with-sidebar{grid-template-columns:1fr 250px!important;display:grid!important}.layout.with-sidebar aside{display:block!important}}@media (max-width:768px){.container{padding:10px}header h1{font-size:2em}.layout.with-sidebar{display:block}.layout.with-sidebar aside{display:none}.layout.with-sidebar .article{max-width:100%;margin:0 0 20px}.layout.with-sidebar .pagination{max-width:100%;margin:40px 0}.pagination-nav{-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;display:inline-flex}.grid{grid-template-columns:1fr}.timeline{padding-left:1.5rem}.year:before{left:-29px}.month:before{left:-23px}.post:before{left:-21px}.content{font-size:15px;line-height:1.7}.content pre{border-radius:6px;margin:16px 0;padding:12px;font-size:13px}.content h1{margin:24px 0 16px;font-size:1.6rem}.content h2{margin:20px 0 12px;font-size:1.4rem}.content h3{margin:0 0 8px;font-size:1.2rem}.content img{border-radius:6px;margin:1.5rem 0}.content blockquote{margin:16px 0;padding:12px 16px}.content table{font-size:14px}.content table th,.content table td{padding:8px 10px}.content ul,.content ol{padding-left:20px}}
.navigation-module__mYFBYq__nav{z-index:50;background:#fff;border-radius:4px;justify-content:space-around;margin-bottom:20px;transition:background-color .3s,border-color .3s;display:flex}.dark .navigation-module__mYFBYq__nav{background:#1f2937;border-color:#374151}.navigation-module__mYFBYq__navItem{color:var(--meta-color);-webkit-touch-callout:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent;align-items:center;font-weight:500;text-decoration:none;transition:color .2s;display:flex;position:relative}.navigation-module__mYFBYq__navItem:hover{color:var(--primary-hover)}.dark .navigation-module__mYFBYq__navItem{color:#9ca3af}.dark .navigation-module__mYFBYq__navItem:hover{color:#f3f4f6}.navigation-module__mYFBYq__iconWrapper{border-radius:4px;align-items:center;padding:8px;transition:transform .2s;display:flex;position:relative}.navigation-module__mYFBYq__iconWrapper:hover{transform:scale(1.05)}.navigation-module__mYFBYq__iconWrapper:active{transform:scale(.95)}.navigation-module__mYFBYq__active{color:var(--primary-color)}.dark .navigation-module__mYFBYq__active{color:#e5e7eb}.navigation-module__mYFBYq__activeIndicator{background-color:var(--primary-color);border-radius:1px;height:2px;transition:background-color .3s;position:absolute;bottom:-4px;left:0;right:0}.dark .navigation-module__mYFBYq__activeIndicator{background-color:#e5e7eb}@media (max-width:768px){.navigation-module__mYFBYq__nav{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffffe6;border-bottom:1px solid #eee;border-radius:4px;margin:0;padding:8px 16px;position:sticky;top:0;left:0;right:0;box-shadow:0 2px 8px #0000000d}.dark .navigation-module__mYFBYq__nav{background:#1f2937e6;border-bottom:1px solid #374151;box-shadow:0 2px 8px #0003}.navigation-module__mYFBYq__navItem{padding:4px 0;font-size:12px}.navigation-module__mYFBYq__icon{margin-right:4px}.navigation-module__mYFBYq__label{font-size:12px}.navigation-module__mYFBYq__iconWrapper{flex-direction:row;align-items:center;gap:4px}.navigation-module__mYFBYq__activeIndicator{height:2px;bottom:-8px}}@media (min-width:769px){.navigation-module__mYFBYq__nav{margin:20px auto;padding:8px;box-shadow:0 2px 8px #0000000d}.dark .navigation-module__mYFBYq__nav{box-shadow:0 2px 8px #0003}.navigation-module__mYFBYq__navItem{gap:8px}.navigation-module__mYFBYq__label{font-size:14px}.navigation-module__mYFBYq__iconWrapper{gap:8px}}
.style-module__r9lHjq__switch{cursor:pointer;z-index:50;background-color:#e5e7eb;border:none;border-radius:24px;width:48px;height:24px;padding:4px;transition:background-color .3s;position:absolute;top:1rem;right:1rem}.style-module__r9lHjq__switch.style-module__r9lHjq__dark{background-color:#374151}.style-module__r9lHjq__slider{background-color:#fff;border-radius:50%;justify-content:center;align-items:center;width:16px;height:16px;transition:transform .3s cubic-bezier(.4,0,.2,1);display:flex;position:relative;transform:translate(0)}.style-module__r9lHjq__dark .style-module__r9lHjq__slider{transform:translate(24px)}.style-module__r9lHjq__icon{color:#eab308;transition:all .3s}.style-module__r9lHjq__dark .style-module__r9lHjq__icon{color:#94a3b8}.style-module__r9lHjq__switch:hover{background-color:#d1d5db}.style-module__r9lHjq__switch.style-module__r9lHjq__dark:hover{background-color:#4b5563}.style-module__r9lHjq__switch:active .style-module__r9lHjq__slider{transform:scale(.95)}
.NavigationLoading-module__ZUdPnG__overlay{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:9999;background:#fffc;flex-direction:column;justify-content:center;align-items:center;gap:20px;display:flex;position:fixed;inset:0}:root[class~=dark] .NavigationLoading-module__ZUdPnG__overlay{background:#1a1a1acc}.NavigationLoading-module__ZUdPnG__spinner{width:48px;height:48px;position:relative}.NavigationLoading-module__ZUdPnG__spinnerRing{background:conic-gradient(from 0deg,transparent,var(--primary-color));border-radius:50%;width:100%;height:100%;animation:1.2s linear infinite NavigationLoading-module__ZUdPnG__spin;position:absolute}.NavigationLoading-module__ZUdPnG__spinnerCenter{background:var(--article-bg);border-radius:50%;width:40px;height:40px;position:absolute;top:4px;left:4px}.NavigationLoading-module__ZUdPnG__text{color:var(--primary-color);opacity:.8;font-size:16px;font-weight:500}@keyframes NavigationLoading-module__ZUdPnG__spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}
.layout-module__L5FxyW__sidebarSkeleton{padding:10px 0}.layout-module__L5FxyW__skeletonLine{background-color:var(--meta-color);opacity:.3;border-radius:4px;height:16px;margin-bottom:10px}.layout-module__L5FxyW__skeletonLineAnimated{animation:1.5s ease-in-out infinite layout-module__L5FxyW__pulse}.layout-module__L5FxyW__skeletonLineMedium{width:80%}.layout-module__L5FxyW__skeletonLineShort{width:60%}.layout-module__L5FxyW__sidebarSkeletonList{flex-direction:column;gap:10px;list-style:none;display:flex}.layout-module__L5FxyW__sidebarSkeletonItem{height:16px}.layout-module__L5FxyW__sidebarSkeletonItemWide{width:90%}.layout-module__L5FxyW__sidebarSkeletonItemMedium{width:75%}.layout-module__L5FxyW__sidebarSkeletonItemShort{width:60%}.layout-module__L5FxyW__headerActions{position:absolute;top:1rem;right:1rem}.layout-module__L5FxyW__contentWrapper{min-width:0}
