:root{font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:dark;color:#ffffffde;background-color:#2a2a2a;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}a{font-weight:500;color:#ff9800;text-decoration:inherit}a:hover{color:#fa3}body{margin:0;min-width:320px;min-height:100vh;overflow:hidden}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media(prefers-color-scheme:light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}body:has(.profile-page){overflow:auto}.profile-page{min-height:100svh;color-scheme:var(--profile-color-scheme);background:var(--profile-background);color:var(--profile-text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;-webkit-font-smoothing:antialiased}.profile-page *{box-sizing:border-box}.profile-page a{color:inherit}.profile-page a:focus-visible{outline:2px solid var(--profile-accent);outline-offset:5px;border-radius:3px}.profile-page a:hover{color:var(--profile-accent)}.profile-shell{max-width:960px;margin:0 auto;padding:0 24px}.profile-header{display:flex;justify-content:space-between;align-items:center;padding:14px 0}.profile-wordmark{font-size:24px;font-weight:650;letter-spacing:-1px}.profile-wordmark span{color:var(--profile-accent)}.profile-book-link{display:inline-flex;align-items:center;gap:4px;font-size:14px;color:var(--profile-secondary)!important}.profile-book-link svg{width:14px;height:14px}.profile-intro{display:flex;align-items:center;gap:24px;padding-top:20px}.profile-avatar{width:96px;height:96px;flex:0 0 96px;border-radius:50%;object-fit:cover;background:var(--profile-avatar)}.profile-intro h1{font-size:30px;font-weight:650;line-height:1.25;letter-spacing:-.9px;margin:0 0 8px}.profile-tagline{margin:0;font-size:17px;line-height:1.6;color:var(--profile-secondary)}.profile-socials{display:flex;flex-wrap:wrap;gap:8px;margin-top:13px}.profile-socials a{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;font-size:14px;font-weight:450;background:var(--profile-surface);border-radius:20px;transition:background .15s}.profile-socials a:hover{background:var(--profile-surface-hover)}.profile-socials svg{width:14px;height:14px}.profile-tabs{display:flex;gap:28px;margin-top:56px;border-bottom:1px solid var(--profile-border)}.profile-tabs a{display:flex;align-items:center;gap:7px;padding:0 0 14px;font-size:16px;font-weight:450;color:var(--profile-muted);margin-bottom:-1px}.profile-tabs a[aria-current=page]{color:var(--profile-text);border-bottom:1px solid var(--profile-text)}.profile-tabs a span{font-size:14px}.profile-description{font-size:16px;line-height:1.85;letter-spacing:-.15px;margin:31px 0 0;max-width:650px;color:var(--profile-body)}.profile-section{margin-top:64px;scroll-margin-top:30px}.profile-section h2{display:flex;align-items:center;gap:10px;font-size:17px;font-weight:600;letter-spacing:-.2px;margin:0 0 31px}.profile-section h2 svg{width:20px;height:20px;color:var(--profile-muted)}.profile-entries{display:flex;flex-direction:column;gap:32px}.profile-entry{display:grid;grid-template-columns:148px minmax(0,1fr);gap:20px}.profile-period{color:var(--profile-muted);font-size:14px;line-height:30px;margin:0;font-variant-numeric:tabular-nums}.profile-entry-heading{display:flex;align-items:flex-start;gap:9px}.profile-org-mark{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;flex:0 0 30px;border:0;font-size:12px;font-weight:650;letter-spacing:-.5px;background:transparent;color:var(--profile-secondary)}.profile-entry h3{font-size:16px;line-height:30px;letter-spacing:-.1px;font-weight:550;margin:0}.profile-org-mark img{display:block;width:100%;height:100%;object-fit:contain;background:transparent}.profile-role{font-size:16px;line-height:1.7;margin:6px 0 0 39px;color:var(--profile-secondary)}.profile-detail{font-size:14px;line-height:1.8;margin:5px 0 0 39px;color:var(--profile-muted)}.profile-projects{display:flex;flex-direction:column;gap:28px}.profile-project{display:grid;grid-template-columns:148px minmax(0,1fr);gap:20px}.profile-project-context{margin:0;color:var(--profile-muted);font-size:14px;line-height:30px}.profile-project h3{margin:0;font-size:17px;font-weight:550;line-height:30px}.profile-project-description{margin:5px 0 12px;font-size:15px;line-height:1.8;color:var(--profile-secondary)}.profile-project-links{display:flex;flex-wrap:wrap;gap:18px}.profile-project-links a{display:inline-flex;align-items:center;gap:5px;font-size:13px;font-weight:450}.profile-project-links svg{width:15px;height:15px}.profile-skills{display:flex;flex-direction:column;gap:18px}.profile-skill-group{display:grid;grid-template-columns:148px minmax(0,1fr);gap:20px;align-items:start}.profile-skill-group h3{margin:0;color:var(--profile-secondary);font-size:14px;font-weight:500;line-height:28px}.profile-skill-list{display:flex;flex-wrap:wrap;gap:7px;margin:0;padding:0;list-style:none}.profile-skill-list li{padding:5px 10px;border-radius:6px;background:var(--profile-elevated);color:var(--profile-body);font-size:13px;line-height:18px}.profile-research{padding:22px 24px;border:1px solid var(--profile-border);border-radius:10px;background:var(--profile-elevated)}.profile-research-label{display:block;font-size:10px;letter-spacing:1.2px;line-height:1.8;color:var(--profile-muted)}.profile-research h3{font-size:17px;line-height:1.75;font-weight:500;letter-spacing:-.15px;margin:9px 0}.profile-research p{font-size:14px;color:var(--profile-muted);margin:0}.profile-research .profile-research-authors{margin:0 0 10px;line-height:1.8}.profile-certifications{display:flex;flex-direction:column;gap:26px}.profile-certification{display:grid;grid-template-columns:38px minmax(0,1fr);gap:14px;align-items:start}.profile-certification-logo{width:38px;height:38px;object-fit:contain}.profile-certification h3{margin:0;font-size:16px;font-weight:550;line-height:1.7}.profile-certification p{margin:5px 0 0;font-size:14px;line-height:1.8;color:var(--profile-secondary)}.profile-honor .profile-project-context{color:var(--profile-accent)}.profile-honor .profile-project-description{margin-bottom:0}.profile-honor-github{display:inline-flex;align-items:center;gap:4px;margin-left:8px;vertical-align:middle}.profile-honor-github svg{width:17px;height:17px}.profile-honor-title svg{display:inline-block;width:14px;height:14px;vertical-align:middle}.profile-footer{margin-top:64px;display:flex;justify-content:space-between;gap:16px;padding:23px 0 30px;border-top:1px solid var(--profile-border);font-size:12px;color:var(--profile-subtle)}.profile-footer a{font-weight:400}@media(max-width:600px){.profile-shell{padding:0 16px}.profile-header{padding:14px 0}.profile-intro{padding-top:16px;gap:18px;align-items:flex-start}.profile-avatar{width:72px;height:72px;flex-basis:72px}.profile-intro h1{font-size:26px}.profile-tagline{font-size:14px}.profile-socials{gap:6px}.profile-socials a{font-size:12px;padding:5px 8px}.profile-tabs{margin-top:38px}.profile-description{font-size:17px;margin-top:25px}.profile-section{margin-top:48px}.profile-section h2{margin-bottom:24px}.profile-entry{grid-template-columns:minmax(0,1fr);gap:7px}.profile-period{margin-left:39px;font-size:12px}.profile-entries{gap:28px}.profile-research{padding:18px}.profile-project{grid-template-columns:minmax(0,1fr);gap:3px}.profile-project-context{font-size:12px}.profile-skill-group{grid-template-columns:minmax(0,1fr);gap:7px}.profile-skill-group h3{font-size:13px}.profile-footer{margin-top:48px;flex-direction:column;gap:8px}}@media(prefers-reduced-motion:reduce){.profile-socials a{transition:none}}.sidebar{background-color:#1e1e1e;overflow-y:auto;flex-shrink:0;position:relative}.sidebar-section{margin-bottom:2rem}.sidebar-title{text-transform:uppercase;margin-bottom:1rem;font-weight:600}.sidebar-nav{display:flex}.sidebar-link{display:flex;align-items:center;text-decoration:none}.sidebar-link:hover{background-color:#2a2a2a}.sidebar-link.active{background-color:#2a2a2a;color:#ff9800}.sidebar-tag{justify-content:space-between;padding:.6rem 1rem}.tag-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tag-count{background-color:#333;border-radius:12px;text-align:center}.sidebar-tag:hover .tag-count{background-color:#ff9800}.blog-layout{gap:0;position:relative}.blog-main{flex:1;background-color:#f5f5f5;overflow-y:auto}.blog-header{display:flex;justify-content:space-between;margin-bottom:2rem}.blog-header h1{font-size:2.5rem;margin:0 0 .5rem;color:#1a1a1a}.blog-actions{display:flex;gap:1rem;align-items:center}.search-btn,.filter-btn{background:#ff9800;color:#fff;border:2px solid #ff9800;padding:.75rem 1.5rem;border-radius:8px;cursor:pointer;font-size:.95rem;font-weight:500;transition:all .2s;position:relative;white-space:nowrap}.search-btn:hover,.filter-btn:hover{background:#f57c00;border-color:#f57c00;transform:translateY(-2px)}.category-grid{display:grid}.category-card{background:#fff;padding:1.5rem;display:flex;align-items:center;gap:1rem;transition:transform .2s}.category-card h3{margin:0;font-size:1.1rem;color:#1a1a1a}.category-card p{margin:.25rem 0 0;font-size:.9rem;color:#666}.tag{display:inline-block}.loading,.no-results{text-align:center;padding:4rem 2rem;font-size:1.1rem}.clear-filter-btn{margin-top:1rem;padding:.75rem 1.5rem;background:#ff9800;color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:1rem;font-weight:500;transition:all .2s}@media(max-width:768px){.blog-header{flex-direction:column}.search-container{width:100%}.search-input{flex:1}.articles-grid{grid-template-columns:1fr}}.blog-detail-main{flex:1 1 auto;background-color:#f5f5f5;overflow-y:auto}.article-meta-info{display:flex;align-items:center;gap:1rem;margin-bottom:1.5rem}.author-avatar{border-radius:50%;object-fit:cover}.author-name{color:#1a1a1a;display:block}.article-info{display:flex;gap:.5rem;margin-top:.25rem}.article-header h1{margin:0;color:#1a1a1a}.article-tags-header{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:1rem}.article-tags-header .tag{display:inline-block;border-radius:15px;font-weight:500}.loading,.error{text-align:center;padding:4rem 2rem}.error h2{color:#1a1a1a;margin-bottom:1rem}.back-link{text-decoration:none;display:inline-flex;align-items:center;gap:.5rem;transition:color .2s}.back-link:hover{color:#e08600}.article-body{line-height:1.8}.article-body h2{margin:2rem 0 1rem;color:#1a1a1a}.article-body h3{margin:1.5rem 0 .75rem;color:#1a1a1a}.article-body p{margin:1rem 0}.article-body ul,.article-body ol{margin:1rem 0;padding-left:2rem}.article-body li{margin:.5rem 0}.article-body code{padding:.2rem .4rem;border-radius:4px;font-family:Courier New,monospace;font-size:.9em}.article-body pre{background:#1e1e1e;padding:1.5rem;border-radius:8px;margin:1.5rem 0}.article-body pre code{padding:0}.article-body img{max-width:100%;height:auto;display:block;margin:1.5rem auto;border-radius:8px}.article-body .markdown-blockquote{margin:1.5rem 0;padding:1rem 1.5rem;border-left:4px solid #ff9800;border-radius:4px;font-style:italic}.article-body .markdown-blockquote p{margin:.5rem 0}.article-body .markdown-blockquote p:first-child{margin-top:0}.article-body .markdown-blockquote p:last-child{margin-bottom:0}.article-body table{border-collapse:collapse;margin:1.5rem 0;font-size:.95rem;overflow:hidden}.article-body table thead{background-color:#f8f9fa}.article-body table th{padding:1rem;text-align:left;font-weight:600;color:#1a1a1a;border:1px solid #ddd;background-color:#f8f9fa}.article-body table td{padding:.875rem 1rem;border:1px solid #ddd;color:#333}.article-body table tbody tr{transition:background-color .2s}.article-body table tbody tr:nth-child(2n){background-color:#fafafa}.article-body table tbody tr:hover{background-color:#f0f0f0}.mermaid-container{margin:2rem 0;padding:1.5rem;background:#1e1e1e;border-radius:8px;overflow-x:auto;transition:transform .2s,box-shadow .2s;position:relative}.mermaid-container:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.mermaid-container:after{content:"點擊放大";position:absolute;top:.5rem;right:.5rem;background:#ffffff1a;color:#fff;padding:.25rem .5rem;border-radius:4px;font-size:.75rem;opacity:0;transition:opacity .2s}.mermaid-container:hover:after{opacity:1}.mermaid{display:flex;justify-content:center;align-items:center;min-height:200px}.mermaid svg{max-width:100%;height:auto}.mermaid-modal{position:fixed;inset:0;background:#000000e6;display:flex;justify-content:center;align-items:center;z-index:10000;padding:2rem;cursor:zoom-out;animation:fadeIn .2s ease-in-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.mermaid-modal-content{max-width:95vw;max-height:95vh;overflow:auto;background:#1e1e1e;border-radius:12px;padding:2rem;position:relative;cursor:default}.mermaid-modal-close{position:absolute;top:1rem;right:1rem;background:#ffffff1a;border:none;color:#fff;font-size:1.5rem;width:2.5rem;height:2.5rem;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s;z-index:1}.mermaid-modal-close:hover{background:#fff3}.mermaid-modal-content svg{max-width:100%;height:auto}.article-footer{border-top:1px solid #eee}.article-sidebar{overflow-y:auto;flex:0 0 320px}.share-section,.related-section{margin-bottom:1.5rem}.share-section h3,.related-section h3{margin:0 0 1rem;color:#1a1a1a}.share-buttons{display:flex;gap:.75rem;flex-wrap:wrap}.share-btn{border:1px solid #ddd;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.share-btn:hover{transform:scale(1.1)}.share-btn img{width:24px;height:24px;object-fit:contain}.related-articles{display:flex;flex-direction:column;gap:1rem}.related-card{display:flex;gap:1rem;text-decoration:none;color:inherit;transition:transform .2s}.related-card img{object-fit:cover;border-radius:8px;flex-shrink:0}.related-card h4{margin:0 0 .5rem;color:#1a1a1a;line-height:1.3}.category-main{flex:1;background-color:#f5f5f5;overflow-y:auto}.category-header{margin-bottom:3rem}.category-header h1{font-size:2.5rem;font-weight:700;margin-bottom:.5rem;color:#1a1a1a}.category-description{font-size:1.125rem}.category-grid{display:grid;margin-top:2rem}.category-card{position:relative;overflow:hidden;background-size:cover;background-position:center;text-decoration:none;color:#fff;transition:transform .3s ease,box-shadow .3s ease;cursor:pointer}.category-card-content{position:absolute;bottom:0;left:0;right:0;padding:1.5rem;background:linear-gradient(to top,rgba(0,0,0,.9),transparent)}.category-card h2{font-weight:700;margin-bottom:.5rem;color:#fff}.category-card-count{font-size:.875rem;opacity:.8;margin:0}.category-detail-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:2rem;flex-wrap:wrap;gap:1rem}.category-header-content h1{font-size:2.5rem;margin:0 0 .5rem;color:#1a1a1a}.category-detail-description{font-size:1rem;margin:0}.back-button{background:#666;border:none;color:#fff;padding:.5rem 1rem;border-radius:8px;cursor:pointer;font-size:.9rem;margin-bottom:.5rem;transition:all .2s;display:inline-block}.back-button:hover{background:#444;transform:translateY(-2px)}.category-actions{display:flex;gap:1rem;align-items:center}.search-container{position:relative}.search-input{transition:all .2s;outline:none}.clear-search-btn{background:#666;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:8px;cursor:pointer;font-size:.95rem;font-weight:500;transition:all .2s;white-space:nowrap}.clear-search-btn:hover{background:#444;transform:translateY(-2px)}.section-header{display:flex;justify-content:space-between;align-items:center}.section-header h2{margin:0}.article-count{font-weight:400}.article-controls{display:flex;gap:1rem;align-items:center}.sort-select{border:1px solid #ddd;cursor:pointer}.articles-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.article-card{text-decoration:none;color:inherit}.article-image{position:relative;overflow:hidden}.article-image img{width:100%;height:100%;object-fit:cover}.article-meta{display:flex}.article-content h3{color:#1a1a1a}.article-content p{margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.article-tags{display:flex;flex-wrap:wrap}.article-tags .tag{padding:.25rem .75rem;border-radius:12px;font-size:.85rem}.no-results{text-align:center;padding:3rem}.no-results p{font-size:1.125rem;margin-bottom:1rem}.clear-filter-btn{background:#ff9800;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:8px;cursor:pointer;font-size:.95rem;font-weight:500;transition:all .2s}.clear-filter-btn:hover{background:#f57c00;transform:translateY(-2px)}@media(max-width:768px){.category-header h1,.category-header-content h1{font-size:2rem}.category-detail-header{flex-direction:column}.articles-grid{grid-template-columns:1fr}.section-header{flex-direction:column;align-items:flex-start}}@media(max-width:480px){.category-header h1,.category-header-content h1{font-size:1.75rem}.category-description,.category-detail-description{font-size:1rem}.search-container,.clear-search-btn{width:100%}}.profile-writing .profile-route-content{margin-top:32px}.profile-writing .blog-layout{display:block;height:auto;overflow:visible}.profile-writing :is(.blog-main,.blog-detail-main,.category-main){width:100%;max-width:none;height:auto;padding:0;overflow:visible;background:transparent;color:var(--profile-text)}.profile-writing .sidebar{width:100%;height:auto;padding:0;overflow:visible;background:transparent;transition:none}.profile-writing .sidebar-section{margin:0 0 32px}.profile-writing .sidebar-title{margin:0 0 12px;font-size:11px;color:var(--profile-muted);letter-spacing:1px}.profile-writing .sidebar-nav{flex-direction:row;flex-wrap:wrap;gap:7px}.profile-writing .sidebar-link{padding:5px 10px;gap:6px;font-size:12px;font-weight:400;border:1px solid var(--profile-border);border-radius:20px;color:var(--profile-secondary);background:transparent;transition:background .15s}.profile-writing .sidebar-link:hover{background:var(--profile-surface);color:var(--profile-text)}.profile-writing .tag-count,.profile-writing .sidebar-tag:hover .tag-count{min-width:0;padding:0;background:transparent;color:var(--profile-subtle);font-size:11px;font-weight:400}.profile-writing .blog-header{align-items:center;flex-wrap:wrap;gap:18px;margin:0 0 24px}.profile-writing :is(.blog-header h1,.category-header h1,.category-header-content h1){font-size:24px;font-weight:550;letter-spacing:-.6px;margin:0}.profile-writing .search-container{display:flex;flex-direction:row;align-items:center;flex-wrap:wrap;gap:8px}.profile-writing .search-input{width:220px;max-width:100%;padding:9px 12px;border:1px solid var(--profile-border-strong);background:var(--profile-input);font-size:13px;border-radius:7px}.profile-writing .search-input:focus{border-color:var(--profile-accent);box-shadow:none}.profile-writing :is(.search-btn,.clear-search-btn,.clear-filter-btn,.back-button){padding:9px 12px;border:1px solid var(--profile-border-strong);border-radius:7px;background:var(--profile-surface);color:var(--profile-body);font-size:13px;font-weight:450}.profile-writing :is(.search-btn,.clear-search-btn,.clear-filter-btn,.back-button):hover{background:var(--profile-surface-hover);transform:none;border-color:var(--profile-border-strong)}.profile-writing .articles-section{margin-top:32px}.profile-writing .section-header{gap:12px;flex-wrap:wrap;margin-bottom:6px}.profile-writing .section-header h2{font-size:13px;font-weight:450;color:var(--profile-muted)}.profile-writing .article-count{font-size:12px;margin-left:5px}.profile-writing .sort-select{font-size:12px;padding:6px 8px;background:transparent;border-color:var(--profile-border);border-radius:6px;color:var(--profile-secondary)}.profile-writing .articles-grid{display:flex;flex-direction:column;gap:0;margin-bottom:0}.profile-writing .article-card{display:grid;grid-template-columns:minmax(0,1fr) 108px;align-items:center;gap:24px;padding:27px 0;border-bottom:1px solid var(--profile-border);background:transparent;border-radius:0;box-shadow:none;overflow:visible;transition:none}.profile-writing .article-card:hover{transform:none;box-shadow:none}.profile-writing .article-card:hover h3{color:var(--profile-accent)}.profile-writing .article-image{grid-column:2;grid-row:1;width:108px;height:86px;border-radius:7px;opacity:.92}.profile-writing .article-content{grid-column:1;grid-row:1;min-width:0;padding:0}.profile-writing .article-meta{font-size:12px;color:var(--profile-muted);margin-bottom:7px;gap:14px}.profile-writing .article-content h3{font-size:19px;line-height:1.5;font-weight:550;letter-spacing:-.3px;margin:0 0 8px;overflow-wrap:anywhere}.profile-writing .article-content p{font-size:14px;line-height:1.75;color:var(--profile-secondary)}.profile-writing .article-tags{margin-top:10px;gap:6px}.profile-writing .article-tags .tag{padding:.25rem .75rem;border-radius:12px;background:var(--profile-surface);color:var(--profile-muted);font-size:.85rem;font-weight:400}.profile-writing .article-detail{background:transparent;border-radius:0;box-shadow:none;overflow:visible}.profile-writing .article-header{padding:12px 0 28px;border-bottom:1px solid var(--profile-border)}.profile-writing .article-header h1{font-size:clamp(26px,4vw,36px);letter-spacing:-1px;line-height:1.4;overflow-wrap:anywhere}.profile-writing .author-name{font-size:14px;font-weight:500}.profile-writing .article-info{font-size:12px;flex-wrap:wrap;color:var(--profile-muted)}.profile-writing .author-avatar{width:38px;height:38px}.profile-writing .article-tags-header .tag{font-size:12px;font-weight:500;border-radius:15px;padding:4px 9px}.profile-writing .article-body{padding:28px 0;font-size:16px;color:var(--profile-body);overflow-wrap:anywhere}.profile-writing .article-body p{font-size:16px;line-height:1.9}.profile-writing .article-body h2{font-size:25px;letter-spacing:-.4px}.profile-writing .article-body h3{font-size:20px}.profile-writing .article-body pre{max-width:100%;overflow-x:auto}.profile-writing .article-body table{display:block;width:max-content;max-width:100%;overflow-x:auto;box-shadow:none;border-radius:0}.profile-writing .article-footer{padding:22px 0;border-color:var(--profile-border)}.profile-writing .back-link{color:var(--profile-accent);font-size:14px;font-weight:450}.profile-writing .article-sidebar{display:grid;grid-template-columns:1fr 2fr;gap:28px;width:100%;height:auto;padding:28px 0 0;background:transparent;overflow:visible}.profile-writing :is(.share-section,.related-section){padding:0;background:transparent;box-shadow:none;border-radius:0}.profile-writing :is(.share-section h3,.related-section h3){font-size:14px;font-weight:500}.profile-writing .share-btn{width:36px;height:36px;background:transparent;font-size:15px}.profile-writing .related-card:hover{transform:none}.profile-writing .related-card img{width:54px;height:54px}.profile-writing .related-card h4{font-size:14px;font-weight:500}.profile-writing .related-category{font-size:11px}.profile-writing .category-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}.profile-writing .category-card{border-radius:8px;box-shadow:none;height:160px}.profile-writing .category-card:hover{transform:none;box-shadow:none}.profile-writing .category-card h2{font-size:20px}.profile-writing .no-results{font-size:15px;color:var(--profile-muted)}.profile-writing .error{padding:48px 0}@media(max-width:600px){.profile-writing .blog-header{flex-direction:column;align-items:stretch;text-align:left}.profile-writing .blog-actions{display:block}.profile-writing :is(.search-btn,.clear-search-btn){width:auto;flex:0 0 auto}.profile-writing .section-header{flex-direction:row;align-items:center}.profile-writing .profile-route-content{margin-top:25px}.profile-writing .sidebar-section{margin-bottom:26px}.profile-writing .sidebar-nav{flex-wrap:nowrap;overflow-x:auto;padding:0 0 8px}.profile-writing .sidebar-link{flex-shrink:0}.profile-writing .blog-actions,.profile-writing .search-container{width:100%}.profile-writing .search-input{width:0;min-width:100px;flex:1}.profile-writing .article-card{grid-template-columns:minmax(0,1fr) 72px;gap:14px;padding:22px 0}.profile-writing .article-image{width:72px;height:72px}.profile-writing .article-content h3{font-size:17px}.profile-writing .article-content p{font-size:13px}.profile-writing .article-meta{font-size:10px;gap:8px;flex-wrap:wrap}.profile-writing .article-sidebar{grid-template-columns:1fr}.profile-writing .article-body{padding:22px 0}.profile-writing .article-body h2{font-size:22px}.profile-writing .article-body h3{font-size:19px}}:root{--profile-color-scheme: light;--profile-background: #fafaf9;--profile-text: #252525;--profile-body: #555550;--profile-secondary: #71716d;--profile-muted: #85847d;--profile-subtle: #989891;--profile-accent: #886641;--profile-border: #e8e7e3;--profile-border-strong: #deddd5;--profile-surface: #eeedea;--profile-surface-hover: #e5e2dc;--profile-elevated: #f6f5f1;--profile-input: #fff;--profile-avatar: #eeeae3;--profile-inline-code: #b63f70}:root[data-theme=dark]{--profile-color-scheme: dark;--profile-background: #191b19;--profile-text: #eeeee8;--profile-body: #d0d0c7;--profile-secondary: #b8b9af;--profile-muted: #a3a599;--profile-subtle: #989b8e;--profile-accent: #d8b98c;--profile-border: #343831;--profile-border-strong: #4a4f43;--profile-surface: #282c25;--profile-surface-hover: #343a2f;--profile-elevated: #21251f;--profile-input: #22261f;--profile-avatar: #30342b;--profile-inline-code: #efb1cc}:root[data-theme]{color-scheme:var(--profile-color-scheme);background:var(--profile-background)}body:has(.profile-page){background:var(--profile-background)}:root[data-theme=dark] .profile-certification-logo{filter:brightness(0) invert(.9)}.profile-header-actions{display:flex;align-items:center;gap:18px}.profile-page .theme-toggle{display:inline-flex;align-items:center;width:50px;height:28px;padding:3px;border:0;border-radius:20px;background:var(--profile-surface-hover);color:var(--profile-secondary);cursor:pointer}.theme-toggle-thumb{display:flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;background:var(--profile-input);transition:transform .18s ease}.theme-toggle[aria-checked=true] .theme-toggle-thumb{transform:translate(22px)}.profile-page .theme-toggle:focus-visible{outline:2px solid var(--profile-accent);outline-offset:4px}.profile-writing :is(.blog-header h1,.category-header h1,.category-header-content h1,.article-content h3,.article-header h1,.author-name,.article-body h1,.article-body h2,.article-body h3,.article-body h4,.article-body h5,.article-body h6,.share-section h3,.related-section h3,.related-card h4,.error h2){color:var(--profile-text)}.profile-writing :is(.search-input,.sort-select,.share-btn){color:var(--profile-body)}.profile-writing .search-input::placeholder{color:var(--profile-muted)}.profile-writing .sort-select option{color:var(--profile-body);background:var(--profile-input)}.profile-writing :is(.article-count,.related-category,.loading,.error){color:var(--profile-muted)}.profile-writing :is(.article-tags,.article-tags-header) .tag{background:var(--profile-surface);color:var(--profile-secondary)}.profile-writing :is(.category-description,.category-detail-description){color:var(--profile-secondary)}.profile-writing .share-btn{border-color:var(--profile-border-strong)}.profile-writing .share-btn:hover{background:var(--profile-surface)}.profile-writing .article-body code{background:var(--profile-surface);color:var(--profile-inline-code)}.profile-writing .article-body pre code{background:transparent;color:inherit}.profile-writing .article-body .markdown-blockquote{border-color:var(--profile-accent);background:var(--profile-elevated);color:var(--profile-secondary)}.profile-writing .article-body :is(th,td){border-color:var(--profile-border-strong);color:var(--profile-body)}.profile-writing .article-body :is(thead,th){background:var(--profile-surface)}.profile-writing .article-body tr:nth-child(2n){background:var(--profile-elevated)}.profile-writing .article-body tr:hover{background:var(--profile-surface-hover)}.profile-writing .bookmark-card{background:var(--profile-elevated);border-color:var(--profile-border)}.profile-writing .bookmark-card:hover{border-color:var(--profile-border-strong)}.profile-writing .bookmark-title{color:var(--profile-text)}.profile-writing :is(.bookmark-description,.bookmark-link){color:var(--profile-secondary)}.profile-writing .bookmark-icon{background:var(--profile-surface)}:root[data-theme=dark] .profile-writing .callout{background:#202c36;color:var(--profile-body)}:root[data-theme=dark] .profile-writing .callout[data-type=warning]{background:#332e20}:root[data-theme=dark] .profile-writing .callout[data-type=important]{background:#352526}:root[data-theme=dark] .profile-writing .callout[data-type=tip]{background:#213126}:root[data-theme=dark] .profile-writing .callout[data-type=note]{background:#2c2537}@media(max-width:600px){.profile-header-actions{gap:12px}}@media(prefers-reduced-motion:reduce){.theme-toggle-thumb{transition:none}}.bookmark-card{display:block;margin:1.5rem 0;border:1px solid #e0e0e0;border-radius:8px;overflow:hidden;text-decoration:none;color:inherit;transition:all .2s ease;background:#fff}.bookmark-card:hover{box-shadow:0 4px 12px #0000001a;border-color:#d0d0d0;transform:translateY(-2px)}.bookmark-content{display:flex;min-height:120px}.bookmark-text{flex:1;padding:16px;display:flex;flex-direction:column;gap:8px;overflow:hidden}.bookmark-title{font-size:16px;font-weight:600;color:#1a1a1a;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;line-height:1.4}.bookmark-description{font-size:14px;color:#666;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;line-height:1.5;flex:1}.bookmark-link{display:flex;align-items:center;gap:6px;font-size:13px;color:#888;margin-top:auto}.bookmark-favicon{width:16px;height:16px;object-fit:contain}.bookmark-icon{width:120px;flex-shrink:0;background:#f9f9f9;display:flex;align-items:center;justify-content:center;padding:20px}.bookmark-icon img{width:80px;height:80px;object-fit:contain;border-radius:8px}@media(max-width:768px){.bookmark-content{flex-direction:row}.bookmark-icon{width:80px;padding:12px}.bookmark-icon img{width:56px;height:56px}.bookmark-text{padding:14px}}.callout{display:flex;gap:12px;padding:16px;margin:1.5rem 0;border-left:4px solid;border-radius:6px;background:#f8f9fa;transition:all .2s ease}.callout:hover{background:#f1f3f5}.callout-icon{flex-shrink:0;font-size:20px;line-height:1.5;width:24px;height:24px;display:flex;align-items:center;justify-content:center}.callout-content{flex:1;line-height:1.6}.callout-content>*:first-child{margin-top:0}.callout-content>*:last-child{margin-bottom:0}.callout-content p{margin:.5em 0}.callout-content h1,.callout-content h2,.callout-content h3,.callout-content h4,.callout-content h5,.callout-content h6{margin-top:.5em;margin-bottom:.5em}.callout-content pre{margin:.75em 0}.callout-content code{background:#0000000d;padding:2px 6px;border-radius:3px;font-size:.9em}.callout[data-type=info]{background:#eff6ff}.callout[data-type=warning]{background:#fffbeb}.callout[data-type=important]{background:#fef2f2}.callout[data-type=tip]{background:#f0fdf4}.callout[data-type=note]{background:#faf5ff}@media(max-width:768px){.callout{padding:12px;gap:10px}.callout-icon{font-size:18px;width:20px;height:20px}}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;gap:2rem}.pixel-cat-wrapper{position:relative;image-rendering:pixelated;image-rendering:crisp-edges;margin-left:-40px;transform:scale(1.3)}.pixel-cat{display:block;line-height:0;font-size:0;position:absolute;top:0;left:0}.cat-frame-1{animation:frame1 .4s steps(1) infinite}.cat-frame-2{animation:frame2 .4s steps(1) infinite}@keyframes frame1{0%,49%{opacity:1}50%,to{opacity:0}}@keyframes frame2{0%,49%{opacity:0}50%,to{opacity:1}}.pixel-row{height:4px;line-height:0;font-size:0}.pixel-row:before{content:"";display:inline-block;width:4px;height:4px}.row-1:before{box-shadow:16px 0 #000,20px 0 #000,36px 0 #000,40px 0 #000}.row-2:before{box-shadow:12px 0 #000,16px 0 #b8b5d1,20px 0 #000,36px 0 #000,40px 0 #b8b5d1,44px 0 #000}.row-3:before{box-shadow:8px 0 #000,12px 0 #b8b5d1,16px 0 #b8b5d1,20px 0 #000,24px 0 #000,28px 0 #000,32px 0 #000,36px 0 #b8b5d1,40px 0 #b8b5d1,44px 0 #000,52px 0 #000,56px 0 #000,60px 0 #000}.row-4:before{box-shadow:8px 0 #000,12px 0 #b8b5d1,16px 0 #b8b5d1,20px 0 #b8b5d1,24px 0 #b8b5d1,28px 0 #b8b5d1,32px 0 #b8b5d1,36px 0 #b8b5d1,40px 0 #b8b5d1,44px 0 #b8b5d1,48px 0 #000,52px 0 #9896ab,56px 0 #b8b5d1,60px 0 #b8b5d1,64px 0 #000}.row-5:before{box-shadow:4px 0 #000,8px 0 #b8b5d1,12px 0 #b8b5d1,16px 0 #b8b5d1,20px 0 #b8b5d1,24px 0 #b8b5d1,28px 0 #b8b5d1,32px 0 #b8b5d1,36px 0 #b8b5d1,40px 0 #b8b5d1,44px 0 #b8b5d1,48px 0 #b8b5d1,52px 0 #9896ab,56px 0 #9896ab,60px 0 #b8b5d1,64px 0 #000}.row-6:before{box-shadow:4px 0 #000,8px 0 #b8b5d1,12px 0 #000,16px 0 #b8b5d1,20px 0 #b8b5d1,24px 0 #b8b5d1,28px 0 #000,32px 0 #b8b5d1,36px 0 #b8b5d1,40px 0 #b8b5d1,44px 0 #000,48px 0 #b8b5d1,52px 0 #9896ab,56px 0 #9896ab,60px 0 #9896ab,64px 0 #000}.row-7:before{box-shadow:4px 0 #000,8px 0 #b8b5d1,12px 0 #b8b5d1,16px 0 #000,20px 0 #000,24px 0 #b8b5d1,28px 0 #b8b5d1,32px 0 #b8b5d1,36px 0 #b8b5d1,40px 0 #000,44px 0 #000,48px 0 #b8b5d1,52px 0 #b8b5d1,56px 0 #9896ab,60px 0 #9896ab,64px 0 #000}.row-8:before{box-shadow:4px 0 #000,8px 0 #b8b5d1,12px 0 #b8b5d1,16px 0 #b8b5d1,20px 0 #b8b5d1,24px 0 #b8b5d1,28px 0 #b8b5d1,32px 0 #b8b5d1,36px 0 #b8b5d1,40px 0 #b8b5d1,44px 0 #b8b5d1,48px 0 #b8b5d1,52px 0 #b8b5d1,56px 0 #9896ab,60px 0 #9896ab,64px 0 #000}.row-9:before{box-shadow:4px 0 #000,8px 0 #b8b5d1,12px 0 #b8b5d1,16px 0 #b8b5d1,20px 0 #d4d2e3,24px 0 #b8b5d1,28px 0 #b8b5d1,32px 0 #b8b5d1,36px 0 #b8b5d1,40px 0 #b8b5d1,44px 0 #b8b5d1,48px 0 #b8b5d1,52px 0 #9896ab,56px 0 #9896ab,60px 0 #000}.row-10:before{box-shadow:4px 0 #000,8px 0 #b8b5d1,12px 0 #000,16px 0 #000,20px 0 #b8b5d1,24px 0 #b8b5d1,28px 0 #b8b5d1,32px 0 #b8b5d1,36px 0 #000,40px 0 #000,44px 0 #b8b5d1,48px 0 #b8b5d1,52px 0 #9896ab,56px 0 #000}.row-11:before{box-shadow:4px 0 #000,8px 0 #000,12px 0 #b8b5d1,16px 0 #000,20px 0 #000,24px 0 #000,28px 0 #000,32px 0 #000,36px 0 #b8b5d1,40px 0 #000,44px 0 #000,48px 0 #000,52px 0 #000,56px 0 #000}.row-12:before{box-shadow:12px 0 #000,16px 0 #000,32px 0 #000,36px 0 #000,52px 0 #000,56px 0 #000}@media(max-width:768px){.pixel-row{height:3px}.pixel-row:before{width:3px;height:3px}}.row-10-alt:before{box-shadow:4px 0 #000,8px 0 #000,12px 0 #b8b5d1,16px 0 #b8b5d1,20px 0 #b8b5d1,24px 0 #000,28px 0 #000,32px 0 #b8b5d1,36px 0 #b8b5d1,40px 0 #b8b5d1,44px 0 #b8b5d1,48px 0 #000,52px 0 #000,56px 0 #000}.row-11-alt:before{box-shadow:12px 0 #000,16px 0 #000,20px 0 #000,24px 0 #b8b5d1,28px 0 #000,32px 0 #000,36px 0 #000,40px 0 #000,44px 0 #000,48px 0 #b8b5d1,52px 0 #000}.projects-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:calc(100vh - 140px);background-color:#f5f5f5;padding:2rem}.projects-content{display:flex;flex-direction:column;align-items:center;gap:2rem}.pixel-subtitle{font-family:Courier New,monospace;font-size:1.2rem;color:#666;letter-spacing:.2rem;text-align:center;margin:0}@media(max-width:768px){.pixel-subtitle{font-size:1rem;letter-spacing:.1rem}}
