@font-face{font-family:Playfair Display;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/playfair-display-latin-700-normal-CuDiGg7c.woff2) format("woff2"),url(/assets/playfair-display-latin-700-normal-Bc_1Q1cG.woff) format("woff")}@font-face{font-family:Playfair Display;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/playfair-display-latin-800-normal-lwhkvH_6.woff2) format("woff2"),url(/assets/playfair-display-latin-800-normal-D0Xz4t1K.woff) format("woff")}@font-face{font-family:Playfair Display;font-style:normal;font-display:swap;font-weight:900;src:url(/assets/playfair-display-latin-900-normal-oSb7_CWx.woff2) format("woff2"),url(/assets/playfair-display-latin-900-normal-DypQvTWf.woff) format("woff")}:root{--bg-color: #F2F2F0;--page-bg: #FAFAF8;--text-color: #1A1A1A;--border-color: #CCCCCC;--accent-color: #1A1A1A;--header-bg: #FAFAF8;--nav-hover: #EBEBEB;--shadow-color: rgba(0, 0, 0, .08);--hover-text-color: #1A1A1A;--bg: #F2F2F0;--page: #FAFAF8;--ink: #1A1A1A;--border: #AAAAAA;--muted: #EBEBEB;--shadow: rgba(0, 0, 0, .09);--rule-thick: 3px;--rule-thin: 1px;--paper-noise: none;--font-serif: "Times New Roman", "Georgia", serif;--font-mono: "Courier New", monospace;--page-w: 210mm}[data-theme=dark],[data-dark="1"]{--bg-color: #141414;--page-bg: #1C1C1E;--text-color: #F5F5F0;--border-color: #3A3A3C;--accent-color: #F5F5F0;--header-bg: #1C1C1E;--nav-hover: #2C2C2E;--shadow-color: rgba(0, 0, 0, .4);--hover-text-color: #F5F5F0;--bg: #141414;--page: #1C1C1E;--ink: #F0EDE6;--border: #3A3A3C;--muted: #2C2C2E;--shadow: rgba(0, 0, 0, .45)}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Times New Roman,Georgia,serif;background-color:var(--bg-color);color:var(--text-color);line-height:1.6;transition:background-color .3s ease,color .3s ease;min-height:100vh}.layout{min-height:100vh;display:flex;justify-content:center;align-items:flex-start;padding:2rem 1rem}.name-branding{display:flex;align-items:start;justify-content:center;width:80px;height:297mm;padding-left:0;position:sticky;top:0}.site-title-vertical{font-size:6.5rem;font-weight:400;color:var(--text-color);margin:0;letter-spacing:0;writing-mode:vertical-rl;text-orientation:mixed;transform:rotate(0);transition:color .3s ease;line-height:1.2}.page-container{width:210mm;min-height:297mm;background-color:var(--page-bg);box-shadow:0 0 0 4px var(--page),0 0 0 5px var(--border),4px 6px 24px var(--shadow);border-top:var(--rule-thick) solid var(--ink);border-left:var(--rule-thin) solid var(--border);border-right:var(--rule-thin) solid var(--border);border-bottom:var(--rule-thick) solid var(--ink);position:relative;transition:all .3s ease}.nav-sidebar{display:flex;flex-direction:column;align-items:flex-end;justify-content:flex-start;gap:1rem;height:297mm;padding-right:1rem;width:120px;position:sticky;top:0}.header,.site-title,.header-controls{display:none}.navigation{display:flex;flex-direction:column;gap:1rem;justify-content:flex-start;align-items:flex-end;width:100%}.navigation a{text-decoration:none;color:var(--text-color);font-weight:400;font-size:.8rem;padding:1rem .75rem;border:1px solid var(--border-color);transition:all .2s ease;text-transform:uppercase;letter-spacing:.5px;text-align:center;display:block;white-space:nowrap;border-radius:4px;background-color:var(--page-bg);box-shadow:0 2px 8px var(--shadow-color)}.navigation a:hover{border:1px solid var(--border-color);background-color:var(--nav-hover);box-shadow:0 4px 12px var(--shadow-color);transform:translate(-5px)}.navigation a.active{border:1px solid var(--border-color);background-color:var(--text-color);color:var(--page-bg);box-shadow:0 4px 12px var(--shadow-color)}.dark-mode-toggle{background:var(--page-bg);border:1px solid var(--border-color);border-radius:4px;width:75px;height:75px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:1.5rem;transition:all .2s ease;box-shadow:0 2px 8px var(--shadow-color)}.dark-mode-toggle:hover{background-color:var(--nav-hover);transform:translate(-5px);box-shadow:0 4px 12px var(--shadow-color)}.main-content{padding:3rem;min-height:297mm}.article-display{max-width:none;margin:0}.article-header{margin-bottom:3rem;padding-bottom:2rem;border-bottom:1px solid var(--border-color);text-align:center}.article-title{font-size:2.5rem;font-weight:400;margin-bottom:1rem;color:var(--text-color);line-height:1.2;text-transform:uppercase;letter-spacing:1px}.article-meta{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;font-size:.9rem;opacity:.8}.article-author{font-weight:500}.article-date{color:var(--text-color);font-style:italic}.article-excerpt{font-size:1.1rem;font-style:italic;margin-bottom:2rem;border-left:3px solid var(--border-color);padding-left:1rem}.article-content{font-size:1.2rem;line-height:1.8;text-align:justify;max-width:100%;overflow-wrap:break-word}.article-content h1,.article-content h2,.article-content h3,.article-content h4,.article-content h5,.article-content h6{margin:2rem 0 1rem;color:var(--text-color);font-weight:400;text-transform:uppercase;letter-spacing:1px}.article-content h1{font-size:2rem}.article-content h2{font-size:1.8rem}.article-content h3{font-size:1.5rem}.article-content p{margin-bottom:1.75rem;text-align:justify;-webkit-hyphens:auto;hyphens:auto;line-height:1.85;font-size:1.05rem}.article-content h1+p,.article-content h2+p,.article-content h3+p,.article-content h4+p,.article-content h5+p,.article-content h6+p{text-indent:0}.article-content ul,.article-content ol{margin:1.5rem 0 1.5rem 2rem;padding-left:1rem}.article-content li{margin-bottom:.8rem;line-height:1.6}.article-content ul li{list-style-type:disc}.article-content ol li{list-style-type:decimal}.article-footer{margin-top:3rem;padding-top:2rem;border-top:1px solid var(--border-color)}.article-tags{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.tags-label{font-weight:500;margin-right:.5rem;font-size:.9rem}.tag{background-color:var(--nav-hover);border:1px solid var(--border-color);padding:.3rem .8rem;font-size:.8rem;text-transform:uppercase;letter-spacing:.5px}.articles-list{display:flex;flex-direction:column;gap:2rem;margin-top:2rem}.article-summary{border:1px solid var(--border-color);padding:2rem;background-color:var(--page-bg);transition:box-shadow .2s ease;cursor:pointer}.article-summary:hover{box-shadow:0 2px 8px var(--shadow-color);transform:translateY(-2px)}.article-summary-header{margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid var(--border-color)}.article-summary-title{font-size:1.8rem;font-weight:400;margin-bottom:.5rem;color:var(--text-color);text-transform:uppercase;letter-spacing:1px}.article-summary-meta{display:flex;justify-content:space-between;align-items:center;font-size:.9rem;opacity:.8}.article-summary-author{font-weight:500}.article-summary-date{font-style:italic}.article-summary-excerpt{font-size:1.1rem;font-style:italic;margin-bottom:1rem;padding:1rem;border-left:3px solid var(--border-color);background-color:var(--nav-hover)}.article-summary-content{font-size:1rem;line-height:1.6;margin-bottom:1rem}.article-summary-content p{margin-bottom:.8rem}.article-summary-tags{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1rem}.article-loading,.article-error,.article-empty{text-align:center;padding:4rem 2rem;font-size:1.2rem}.article-error{color:var(--text-color);border:1px solid var(--border-color);padding:2rem}.home-page,.articles-page,.categories-page,.about-page{max-width:none;margin:0;padding:0}.home-page h2,.articles-page h2,.categories-page h2,.about-page h2{font-size:2.5rem;margin-bottom:2rem;color:var(--text-color);text-align:center;text-transform:uppercase;letter-spacing:2px;font-weight:400}.home-page p,.articles-page p,.categories-page p,.about-page p{margin-bottom:1.5rem;font-size:1.2rem;text-align:justify}.infrastructure-showcase{width:100%;padding:0;margin:0}.infrastructure-headline{font-size:2.5rem;font-weight:700;color:var(--text-color);margin:0;padding:1rem;border-bottom:2px solid var(--text-color);text-align:left;text-transform:uppercase;letter-spacing:2px}.infrastructure-diagram{width:100%;max-width:100%;margin:0;background-color:transparent;border:none;border-radius:0;padding:0;box-shadow:none}.infrastructure-diagram .wire-wrap{position:relative;width:100%;aspect-ratio:1636.18 / 2181.34;margin:0 auto}.infrastructure-diagram .back-wires-embed{position:absolute;top:0;left:0;width:100%;height:100%;z-index:1;display:block}.infrastructure-diagram .back-wires-embed svg{width:100%;height:100%;display:block;filter:drop-shadow(0 0 4px rgba(0,0,0,.1))}.infrastructure-diagram .front-wires-embed{position:absolute;top:0;left:0;width:100%;height:100%;z-index:2}.infrastructure-diagram .front-wires-embed svg{width:100%;height:100%}.hamburger-menu{display:none;position:fixed;top:10px;left:10px;z-index:1000;background:none;border:none;cursor:pointer;padding:.5rem;flex-direction:column;gap:.5rem}.hamburger-menu span{display:block;width:25px;height:3px;background-color:var(--text-color);border-radius:2px;transition:all .3s ease}.hamburger-menu.active span:nth-child(1){transform:rotate(45deg) translate(8px,8px)}.hamburger-menu.active span:nth-child(2){opacity:0}.hamburger-menu.active span:nth-child(3){transform:rotate(-45deg) translate(7px,-7px)}@media(max-width:900px){.page-container{width:100%;max-width:210mm;margin:0 auto}.layout{padding:1rem;flex-direction:row;gap:1rem}.name-branding{height:auto;width:auto;position:relative;justify-content:right}.site-title-vertical{font-size:2rem}.nav-sidebar{height:auto;padding-right:1rem;width:auto}.main-content{padding:2rem}.navigation{gap:.75rem}.navigation a{font-size:.75rem;padding:.5rem .25rem}}@media(max-width:768px){.layout{flex-direction:column;padding:0;align-items:stretch;min-height:auto}.hamburger-menu{display:flex;order:-1}.name-branding{order:0;width:100%;height:auto;padding:20px 60px 20px 20px;position:relative;border-bottom:1px solid var(--border-color);justify-content:right}.site-title-vertical{font-size:1.5rem;writing-mode:horizontal-tb;text-orientation:mixed;transform:rotate(0)}.nav-sidebar{order:1;display:none;position:fixed;top:80px;left:0;width:100%;height:auto;background-color:var(--page-bg);border-bottom:1px solid var(--border-color);flex-direction:row;flex-wrap:wrap;padding:1rem;gap:.5rem;z-index:999;align-items:center;justify-content:flex-start}.nav-sidebar.active{display:flex}.nav-sidebar .dark-mode-toggle{margin-left:auto}.page-container{order:2;width:100%;min-height:auto;margin-top:0;box-shadow:none;border:none;border-radius:0}.main-content{padding:1.5rem}.navigation{flex-direction:row;gap:.5rem;flex-wrap:wrap;width:100%}.navigation a{font-size:.75rem;padding:.5rem .75rem;width:auto;margin-right:.5rem}.dark-mode-toggle{width:50px;height:50px;font-size:1.2rem}.article-title{font-size:2rem}.article-content{font-size:1.1rem}}@media(max-width:480px){.layout{padding:0}.name-branding{padding:15px 50px 15px 15px}.site-title-vertical{font-size:1.2rem}.main-content{padding:1rem}.navigation a{font-size:.7rem;padding:.4rem .5rem}}.single-article-page{max-width:none;margin:0}.back-button{background:var(--page-bg);border:2px solid var(--border-color);color:var(--text-color);padding:.8rem 1.5rem;font-size:1rem;cursor:pointer;transition:all .2s ease;margin-bottom:2rem;text-transform:uppercase;letter-spacing:1px}.back-button:hover{background-color:var(--nav-hover);transform:translateY(-1px)}.article-content img{max-width:100%;height:auto;margin:2rem auto;border:1px solid var(--border-color);border-radius:4px;box-shadow:0 2px 8px var(--shadow-color);display:block;text-align:center}.article-content img[style*="float: left"],.article-content img[style*="float:left"]{float:left;margin:0 1.5rem 1rem 0;max-width:50%}.article-content img[style*="float: right"],.article-content img[style*="float:right"]{float:right;margin:0 0 1rem 1.5rem;max-width:50%}.article-content img[style*="text-align: center"],.article-content img[style*="text-align:center"]{display:block;margin:2rem auto;text-align:center}.article-content:after{content:"";display:table;clear:both}.article-content pre{background-color:var(--nav-hover);border:1px solid var(--border-color);border-radius:4px;padding:1rem;margin:1rem 0;overflow-x:auto;font-family:Courier New,monospace;font-size:.9rem}.article-content code{background-color:var(--nav-hover);border:1px solid var(--border-color);border-radius:3px;padding:.2rem .4rem;font-family:Courier New,monospace;font-size:.9rem}.article-content blockquote{border-left:4px solid var(--border-color);margin:1rem 0;padding:1rem 1.5rem;background-color:var(--nav-hover);font-style:italic}.article-content hr{border:none;border-top:1px solid var(--border-color);margin:2rem 0}.article-content table{width:100%;border-collapse:collapse;margin:1rem 0;border:1px solid var(--border-color)}.article-content th,.article-content td{border:1px solid var(--border-color);padding:.5rem;text-align:left}.article-content th{background-color:var(--nav-hover);font-weight:700}.article-content a{color:var(--text-color);text-decoration:underline;transition:opacity .2s ease}.article-content a:hover{opacity:.7}.article-display{max-width:100%;margin:0 auto}.article-header{margin-bottom:3rem;text-align:center}.article-title{margin-bottom:1.5rem}.article-meta{margin-bottom:2rem}.article-excerpt{margin-bottom:3rem}@media(max-width:768px){.article-content img[style*="float: left"],.article-content img[style*="float:left"],.article-content img[style*="float: right"],.article-content img[style*="float:right"]{float:none;display:block;margin:2rem auto;max-width:100%}.article-content{font-size:1.1rem;line-height:1.7}.article-content ul,.article-content ol{margin-left:1rem;padding-left:.5rem}.article-content p{text-indent:1rem}}.tools-page{max-width:100%;padding:0}.page-header{margin-bottom:1.75rem;padding-top:.75rem;padding-bottom:1rem;border-top:var(--rule-thick) solid var(--ink);border-bottom:var(--rule-thick) solid var(--ink);position:relative}.page-header:after{content:"";display:block;position:absolute;bottom:3px;left:0;right:0;height:1px;background:var(--ink)}.page-title{font-size:2.5rem;font-weight:400;margin:0 0 1rem;color:var(--text-color);letter-spacing:1px}.page-subtitle{font-size:1rem;color:var(--text-color);opacity:.8;max-width:100%;margin:0;line-height:1.6}.divider{border:none;border-top:1px solid var(--border-color);margin:2rem 0;padding:0}.divider-ornamental{text-align:center;border:none;background:none;padding:1.5rem 0;position:relative;margin:2rem 0}.divider-ornamental:before{content:"✦";color:var(--text-color);font-size:1.5rem;opacity:.6}.newspaper-section-header{border-top:3px solid var(--text-color);border-bottom:1px solid var(--border-color);padding:1rem 0;margin:2rem 0 1.5rem;text-transform:uppercase;font-weight:400;letter-spacing:2px;font-size:1.2rem}.byline-box{background-color:var(--nav-hover);border:1px solid var(--border-color);border-left:3px solid var(--text-color);padding:1rem;margin:1.5rem 0;font-size:.95rem}.byline-author{font-weight:500;margin-bottom:.25rem}.byline-date{opacity:.8;font-style:italic;font-size:.9rem}.pull-quote{border-left:4px solid var(--text-color);padding-left:1.5rem;margin:1.5rem 0;font-style:italic;font-size:1.1rem;color:var(--text-color);line-height:1.8}.drop-cap:first-letter{float:left;font-size:3em;line-height:1;padding-right:.3em;font-weight:400}.article-divider{border:none;text-align:center;margin:2.5rem 0;padding:0}.article-divider:before{content:"* * *";letter-spacing:1rem;color:var(--text-color);opacity:.6;font-size:1.2rem}.tools-grid{display:flex;flex-direction:column;gap:0;margin-bottom:2rem}.tool-card{border:none;border-bottom:1px solid var(--border-color);padding:1.5rem;background-color:transparent;transition:all .2s ease}.tool-card:last-child{border-bottom:none}.tool-card:hover{box-shadow:none;background-color:var(--nav-hover)}.tool-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem}.tool-name{font-size:1.3rem;font-weight:400;color:var(--text-color);margin:0;text-transform:uppercase;letter-spacing:1px;flex:1;margin-right:1rem}.tool-status-container{display:flex;flex-direction:column;gap:.5rem;align-items:flex-end}.tool-status{padding:.3rem .8rem;border-radius:0;font-size:.8rem;font-weight:500;color:#fff;text-transform:uppercase;letter-spacing:.5px}.tool-category-badge{padding:.3rem .8rem;border-radius:0;font-size:.7rem;font-weight:500;color:var(--text-color);text-transform:uppercase;letter-spacing:.5px;background-color:transparent;border:1px solid var(--border-color)}[data-theme=dark] .tool-category-badge{background-color:transparent;color:var(--text-color);border-color:var(--border-color)}.tool-category{margin-bottom:1rem;font-size:.9rem}.category-label{font-weight:500;margin-right:.5rem}.category-value{opacity:.8}.tool-timeline{margin-bottom:1rem;font-size:.9rem}.timeline-label{font-weight:500;margin-right:.5rem}.timeline-value{opacity:.8}.tool-description{font-size:1rem;line-height:1.6;margin-bottom:1.5rem;color:var(--text-color)}.tool-technologies{margin-bottom:1.5rem}.tech-label{font-weight:500;margin-right:.5rem;font-size:.9rem}.tech-tags{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.5rem}.tech-tag{background-color:transparent;border:1px solid var(--border-color);padding:.3rem .6rem;border-radius:0;font-size:.8rem;font-weight:500}.tool-footer{display:flex;justify-content:flex-end}.tool-links{display:flex;gap:1rem}.tool-link{color:var(--text-color);text-decoration:none;font-weight:500;transition:opacity .2s ease;font-size:.9rem}.tool-link:hover{opacity:.7}.github-link{color:#6c757d}.live-link{color:#28a745}.tools-footer{margin-top:2rem;padding:1.5rem;border-top:2px solid var(--text-color);font-size:.95rem;line-height:1.6}.project-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem;margin-bottom:2rem;padding:1rem;background-color:transparent;border:1px solid var(--border-color);border-radius:0}.stat-item{text-align:center;padding:1rem 0;border-right:1px solid var(--border-color)}.stat-item:last-child{border-right:none}.stat-number{display:block;font-size:2rem;font-weight:400;color:var(--text-color);margin-bottom:.5rem}.stat-label{font-size:.85rem;opacity:.8;text-transform:uppercase;letter-spacing:1px}.tools-footer p{margin-bottom:1rem}.tools-section,.projects-section{margin-bottom:3rem;border-bottom:2px solid var(--text-color)}.tools-section,.projects-section{padding:1rem}.section-title{font-size:1.8rem;font-weight:700;margin:0 0 1.5rem;color:var(--text-color);border-bottom:1px solid var(--border-color);padding-bottom:.5rem}.empty-section{text-align:center;padding:2rem;background-color:transparent;border:1px solid var(--border-color);border-radius:0;font-style:italic;opacity:.8}.tools-grid-simple{display:grid;grid-template-columns:repeat(3,1fr);border-top:var(--rule-thick) solid var(--ink);border-left:1px solid var(--border);max-width:100%}.tool-card-simple{background-color:transparent;border-right:1px solid var(--border);border-bottom:1px solid var(--border);padding:1rem;text-decoration:none;color:inherit;display:flex;align-items:center;justify-content:center;text-align:center;transition:background-color .15s ease;min-height:72px}.tool-card-simple:hover{background-color:var(--muted)}.tool-name-simple{font-size:.85rem;font-weight:700;color:var(--ink);margin:0;text-transform:uppercase;letter-spacing:1.5px}.tool-page{max-width:100%}.tool-header{display:flex;align-items:center;gap:1rem;margin-bottom:2rem;padding-bottom:1rem;border-bottom:1px solid var(--border-color)}.tool-page-title{font-size:2.5rem;font-weight:400;color:var(--text-color);text-transform:uppercase;letter-spacing:1px;margin:0}.tool-content{display:flex;flex-direction:column;gap:2rem}.tool-description{font-size:1.1rem;line-height:1.6;color:var(--text-color);opacity:.8}.tool-interface{display:grid;grid-template-columns:1fr 1fr;gap:2rem}.input-section,.output-section{display:flex;flex-direction:column;gap:1rem}.input-section label,.output-section label{font-weight:500;color:var(--text-color);text-transform:uppercase;letter-spacing:1px;font-size:.9rem}.input-section textarea,.input-section input,.output-section textarea{padding:1rem;border:1px solid var(--border-color);background-color:var(--page-bg);color:var(--text-color);font-family:Courier New,monospace;font-size:.9rem;line-height:1.4;resize:vertical}.output-container{position:relative}.copy-button{position:absolute;top:.5rem;right:.5rem;background-color:var(--nav-hover);border:1px solid var(--border-color);color:var(--text-color);padding:.3rem .6rem;font-size:.8rem;cursor:pointer;transition:opacity .2s ease}.copy-button:hover{opacity:.7}.generate-button,.format-button,.validate-button,.minify-button,.example-button{background-color:var(--nav-hover);border:1px solid var(--border-color);color:var(--text-color);padding:.8rem 1.5rem;font-size:1rem;cursor:pointer;transition:all .2s ease;text-transform:uppercase;letter-spacing:1px}.generate-button:hover,.format-button:hover,.validate-button:hover,.minify-button:hover,.example-button:hover{background-color:var(--border-color);transform:translateY(-1px)}.generate-button:disabled,.format-button:disabled,.validate-button:disabled,.minify-button:disabled{opacity:.5;cursor:not-allowed;transform:none}.examples{margin-top:1rem}.examples h3,.examples h2{font-size:1rem;font-weight:500;color:var(--text-color);margin-bottom:.5rem}.example-tags,.example-buttons{display:flex;flex-wrap:wrap;gap:.5rem}.example-tag,.example-button{background-color:var(--nav-hover);border:1px solid var(--border-color);color:var(--text-color);padding:.4rem .8rem;font-size:.8rem;cursor:pointer;transition:opacity .2s ease}.example-tag:hover,.example-button:hover{opacity:.7}.action-buttons{display:flex;gap:1rem;margin-top:1rem}.validation-result{margin:1rem 0}.result-message{padding:1rem;border-radius:4px;font-weight:500}.result-message.success{background-color:#e8f5e8;border:1px solid #4CAF50;color:#2e7d32}.result-message.error{background-color:#ffebee;border:1px solid #F44336;color:#c62828}.tool-info{margin-top:2rem;padding:2rem;background-color:var(--nav-hover);border:1px solid var(--border-color);border-radius:4px}.tool-info h3,.tool-info h2{font-size:1.2rem;font-weight:500;color:var(--text-color);margin-bottom:1rem;text-transform:uppercase;letter-spacing:1px}.tool-info ul{list-style:none;padding:0}.tool-info li{margin-bottom:.5rem;padding-left:1rem;position:relative}.tool-info li:before{content:"•";position:absolute;left:0;color:var(--text-color);font-weight:700}.settings-section{display:flex;flex-direction:column;gap:1.5rem}.setting-group{display:flex;flex-direction:column;gap:.5rem}.setting-group label{font-weight:500;color:var(--text-color);display:flex;align-items:center;gap:.5rem}.setting-group input[type=range]{width:100%;margin-top:.5rem}.setting-group input[type=checkbox]{margin-right:.5rem}.password-container{position:relative}.password-container input{width:100%;padding:1rem;border:1px solid var(--border-color);background-color:var(--page-bg);color:var(--text-color);font-family:Courier New,monospace;font-size:1rem;letter-spacing:2px}.strength-indicator{margin-top:1rem;font-size:.9rem}.strength-level{font-weight:500;text-transform:uppercase;letter-spacing:1px}.secret-container,.code-container{position:relative}.code-display{background-color:var(--nav-hover);border:1px solid var(--border-color);padding:2rem;text-align:center;border-radius:4px}.code-text{font-family:Courier New,monospace;font-size:3rem;font-weight:700;letter-spacing:.5rem;color:var(--text-color);display:block;margin-bottom:1rem}.time-indicator{position:relative;height:4px;background-color:var(--border-color);border-radius:2px;margin-top:1rem}.time-bar{height:100%;background-color:#4caf50;border-radius:2px;transition:width 1s linear}.time-text{position:absolute;top:-1.5rem;right:0;font-size:.8rem;color:var(--text-color);opacity:.7}.size-control{margin:1rem 0}.qr-container{display:flex;justify-content:center;align-items:center;min-height:300px}.qr-display{text-align:center}.qr-image{max-width:100%;height:auto;border:1px solid var(--border-color);border-radius:4px}.qr-placeholder{padding:3rem;background-color:var(--nav-hover);border:1px solid var(--border-color);border-radius:4px;text-align:center;opacity:.7}.qr-actions{margin-top:1rem;display:flex;gap:1rem;justify-content:center}.download-button{background-color:var(--nav-hover);border:1px solid var(--border-color);color:var(--text-color);padding:.8rem 1.5rem;font-size:1rem;cursor:pointer;transition:all .2s ease;text-transform:uppercase;letter-spacing:1px}.download-button:hover{background-color:var(--border-color);transform:translateY(-1px)}.color-input-group{display:flex;gap:.5rem;align-items:center}.color-input-group input[type=color]{width:60px;height:44px;border:1px solid var(--border-color);cursor:pointer}.color-input-group input[type=text]{flex:1;padding:.8rem;border:1px solid var(--border-color);background-color:var(--page-bg);color:var(--text-color);font-family:Courier New,monospace;font-size:.9rem}.palette-display{display:flex;flex-direction:column;gap:2rem}.palette-type-info{padding:1.5rem;background-color:var(--nav-hover);border:1px solid var(--border-color);border-radius:4px}.palette-type-info h3,.palette-type-info h2{font-size:1.2rem;font-weight:500;color:var(--text-color);margin-bottom:.5rem;text-transform:uppercase;letter-spacing:1px}.palette-type-info p{font-size:.95rem;color:var(--text-color);opacity:.85;margin:0;line-height:1.5}.color-swatches-visual{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1.5rem}.color-swatch-visual{display:flex;flex-direction:column;gap:1rem;overflow:hidden}.color-box-large{width:100%;height:150px;border:2px solid var(--border-color);border-radius:4px;box-shadow:0 4px 12px var(--shadow-color);transition:transform .2s ease}.color-swatch-visual:hover .color-box-large{transform:scale(1.05)}.color-details{display:flex;flex-direction:column;gap:.5rem}.color-value{font-family:Courier New,monospace;font-size:.85rem;font-weight:500;color:var(--text-color);text-align:center;margin:0;word-break:break-all}.color-actions{display:flex;gap:.5rem}.mini-button{flex:1;background-color:var(--nav-hover);border:1px solid var(--border-color);color:var(--text-color);padding:.4rem .6rem;font-size:.75rem;cursor:pointer;transition:all .2s ease;text-transform:uppercase;letter-spacing:.5px;font-weight:500}.mini-button:hover{background-color:var(--border-color);transform:translateY(-1px)}.export-section{margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid var(--border-color)}.export-section h3,.export-section h2{font-size:1rem;font-weight:500;color:var(--text-color);margin-bottom:1rem;text-transform:uppercase;letter-spacing:1px}.export-buttons{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem}.export-button{background-color:var(--nav-hover);border:1px solid var(--border-color);color:var(--text-color);padding:.8rem 1rem;font-size:.85rem;cursor:pointer;transition:all .2s ease;text-transform:uppercase;letter-spacing:.5px;font-weight:500;border-radius:3px}.export-button:hover{background-color:var(--border-color);transform:translateY(-1px);box-shadow:0 2px 8px var(--shadow-color)}@media(max-width:768px){.color-swatches-visual{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:1rem}.color-box-large{height:120px}.export-buttons{grid-template-columns:1fr}.color-input-group{flex-direction:column}.color-input-group input[type=color]{width:100%}}.api-tester-container{display:grid;grid-template-columns:1fr 1fr;gap:2rem;margin-bottom:2rem;max-width:100%;overflow:hidden}.api-request-section,.api-response-section{display:flex;flex-direction:column;gap:1.5rem;min-width:0;overflow:hidden;max-height:calc(100vh - 300px)}.api-request-section h2,.api-response-section h2{font-size:1.3rem;font-weight:500;color:var(--text-color);margin:0;text-transform:uppercase;letter-spacing:1px;border-bottom:2px solid var(--border-color);padding-bottom:.8rem}.url-bar{display:flex;gap:.8rem;align-items:stretch}.method-select{padding:.8rem;border:1px solid var(--border-color);background-color:var(--page-bg);color:var(--text-color);font-weight:500;font-size:.9rem;cursor:pointer;text-transform:uppercase;letter-spacing:.5px;min-width:100px}.url-input{flex:1;padding:.8rem;border:1px solid var(--border-color);background-color:var(--page-bg);color:var(--text-color);font-family:Courier New,monospace;font-size:.9rem}.send-button{padding:.8rem 1.5rem;background-color:var(--border-color);color:var(--page-bg);border:none;font-weight:600;cursor:pointer;transition:all .2s ease;text-transform:uppercase;letter-spacing:.5px}.send-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 2px 8px var(--shadow-color)}.send-button:disabled{opacity:.6;cursor:not-allowed}.sample-requests{display:flex;gap:.5rem;flex-wrap:wrap}.sample-button{background-color:var(--nav-hover);border:1px solid var(--border-color);color:var(--text-color);padding:.5rem 1rem;font-size:.8rem;cursor:pointer;transition:all .2s ease;text-transform:uppercase;letter-spacing:.5px;font-weight:500}.sample-button:hover{background-color:var(--border-color);color:var(--page-bg)}.api-tabs,.response-tabs{display:flex;gap:.5rem;border-bottom:1px solid var(--border-color)}.tab-button{padding:.8rem 1.2rem;background-color:transparent;border:none;border-bottom:2px solid transparent;color:var(--text-color);cursor:pointer;font-weight:500;text-transform:uppercase;letter-spacing:.5px;font-size:.85rem;opacity:.7;transition:all .2s ease}.tab-button:hover{opacity:1}.tab-button.active{border-bottom-color:var(--border-color);opacity:1;background-color:var(--nav-hover)}.tab-content{padding:1rem;background-color:var(--nav-hover);border:1px solid var(--border-color);border-radius:4px;min-height:200px}.headers-section,.params-section{display:flex;flex-direction:column;gap:1rem}.headers-list,.params-list{display:flex;flex-direction:column;gap:.8rem}.header-row,.param-row{display:flex;gap:.5rem;align-items:center}.header-input,.param-input{flex:1;padding:.6rem;border:1px solid var(--border-color);background-color:var(--page-bg);color:var(--text-color);font-size:.9rem;font-family:Courier New,monospace}.header-input::placeholder,.param-input::placeholder{opacity:.6}.remove-button{padding:.5rem .8rem;background-color:#f44336;color:#fff;border:none;cursor:pointer;font-weight:700;transition:all .2s ease}.remove-button:hover{background-color:#d32f2f}.add-button{align-self:flex-start;padding:.6rem 1rem;background-color:#4caf50;color:#fff;border:none;cursor:pointer;font-weight:500;text-transform:uppercase;letter-spacing:.5px;font-size:.8rem;transition:all .2s ease}.add-button:hover{background-color:#388e3c;transform:translateY(-1px)}.body-section{display:flex;flex-direction:column;gap:1rem}.body-textarea{width:100%;min-height:250px;padding:1rem;border:1px solid var(--border-color);background-color:var(--page-bg);color:var(--text-color);font-family:Courier New,monospace;font-size:.85rem;line-height:1.5;resize:vertical}.body-textarea:disabled{opacity:.5;cursor:not-allowed}.body-note{font-size:.85rem;opacity:.7;margin:0;font-style:italic}.format-button{align-self:flex-start;padding:.6rem 1rem;background-color:#2196f3;color:#fff;border:none;cursor:pointer;font-weight:500;text-transform:uppercase;letter-spacing:.5px;font-size:.8rem;transition:all .2s ease}.format-button:hover{background-color:#1976d2;transform:translateY(-1px)}.saved-section{padding:1rem 0}.no-requests{text-align:center;opacity:.6;padding:2rem;margin:0;font-style:italic}.saved-item{display:flex;justify-content:space-between;align-items:center;padding:.8rem;background-color:var(--page-bg);border:1px solid var(--border-color);border-radius:3px}.saved-info{display:flex;align-items:center;gap:.8rem;flex:1}.method-badge{padding:.3rem .6rem;font-weight:600;font-size:.75rem;text-transform:uppercase;letter-spacing:.5px;color:#fff;border-radius:3px}.method-badge.GET{background-color:#4caf50}.method-badge.POST{background-color:#2196f3}.method-badge.PUT{background-color:#ff9800}.method-badge.PATCH{background-color:#9c27b0}.method-badge.DELETE{background-color:#f44336}.method-badge.HEAD,.method-badge.OPTIONS{background-color:#607d8b}.saved-name{font-family:Courier New,monospace;font-size:.85rem;color:var(--text-color);word-break:break-all;flex:1}.saved-time{font-size:.75rem;opacity:.6;white-space:nowrap;margin-left:1rem}.action-button{padding:.4rem .8rem;border:1px solid var(--border-color);background-color:var(--nav-hover);color:var(--text-color);cursor:pointer;font-size:.75rem;text-transform:uppercase;letter-spacing:.5px;font-weight:500;transition:all .2s ease}.action-button:hover{transform:translateY(-1px);box-shadow:0 2px 4px var(--shadow-color)}.action-button.delete:hover{background-color:#f44336;color:#fff}.action-button.load:hover{background-color:#4caf50;color:#fff}.save-request-button{padding:.8rem 1.5rem;background-color:#ff9800;color:#fff;border:none;cursor:pointer;font-weight:600;text-transform:uppercase;letter-spacing:.5px;transition:all .2s ease;font-size:.9rem}.save-request-button:hover{background-color:#f57c00;transform:translateY(-1px)}.error-box{padding:1rem;background-color:#ffebee;border:1px solid #F44336;color:#c62828;border-radius:4px;font-size:.9rem;line-height:1.5}.response-meta{display:flex;gap:2rem;padding:1rem;background-color:var(--nav-hover);border:1px solid var(--border-color);border-radius:4px;flex-wrap:wrap}.status-info,.time-info,.size-info{display:flex;flex-direction:column;gap:.3rem}.label{font-weight:500;font-size:.8rem;text-transform:uppercase;letter-spacing:.5px;opacity:.7}.status-code{font-family:Courier New,monospace;font-weight:600;font-size:1rem}.time-value,.size-value{font-family:Courier New,monospace;font-weight:600;font-size:.9rem}.response-body{display:flex;flex-direction:column;gap:1rem;padding:1rem;background-color:var(--page-bg);border:1px solid var(--border-color);border-radius:4px;min-width:0;overflow:hidden}.response-content{margin:0;padding:1rem;background-color:var(--nav-hover);border:1px solid var(--border-color);border-radius:4px;font-family:Courier New,monospace;font-size:.85rem;line-height:1.5;overflow:auto;max-height:300px;color:var(--text-color);word-break:break-word;white-space:pre-wrap}.copy-response-button{align-self:flex-start;padding:.6rem 1rem;background-color:#4caf50;color:#fff;border:none;cursor:pointer;font-weight:500;text-transform:uppercase;letter-spacing:.5px;font-size:.8rem;transition:all .2s ease}.copy-response-button:hover{background-color:#388e3c;transform:translateY(-1px)}.response-headers{padding:1rem;background-color:var(--page-bg);border:1px solid var(--border-color);border-radius:4px}.headers-table{width:100%;border-collapse:collapse;font-size:.85rem}.headers-table tr:nth-child(odd){background-color:var(--nav-hover)}.headers-table tr:hover{background-color:var(--border-color);opacity:.8}.header-key{font-family:Courier New,monospace;font-weight:600;padding:.6rem;border:1px solid var(--border-color);color:var(--text-color);max-width:150px;word-break:break-all}.header-value{font-family:Courier New,monospace;padding:.6rem;border:1px solid var(--border-color);color:var(--text-color);word-break:break-all}.empty-response{padding:3rem 2rem;text-align:center;opacity:.6;font-style:italic}@media(max-width:1200px){.api-tester-container{grid-template-columns:1fr}}@media(max-width:768px){.url-bar{flex-direction:column}.method-select{min-width:auto}.api-tabs,.response-tabs{flex-wrap:wrap}.tab-button{padding:.6rem .8rem;font-size:.75rem}.response-meta{flex-direction:column;gap:1rem}.response-content{max-height:250px}.header-row,.param-row{flex-direction:column}.remove-button{align-self:flex-end}}@media(max-width:768px){.tool-interface{grid-template-columns:1fr;gap:1.5rem}.tool-page-title{font-size:2rem}.action-buttons,.example-tags,.example-buttons,.qr-actions{flex-direction:column}.code-text{font-size:2rem;letter-spacing:.3rem}}.about-page{max-width:100%}.profile-intro{display:flex;align-items:flex-start;gap:2.5rem}.profile-image{width:120px;height:120px;border-radius:50%;object-fit:cover;border:3px solid var(--border-color);flex-shrink:0;margin-top:.5rem}.profile-content{flex:1;display:flex;flex-direction:column;gap:.8rem;text-align:right}.profile-content .page-title{margin:0;font-size:2.2rem}.current-role{font-size:1.2rem;font-weight:500;color:var(--text-color);margin:0;text-align:right}.tagline{font-size:1rem;font-style:italic;color:var(--text-color);opacity:.85;margin:1.5rem 0 0;padding-top:1.5rem;border-top:1px solid var(--border-color);text-align:right}.contact-header{display:flex;flex-direction:column;align-items:flex-end;gap:.6rem;text-align:right}.contact-header .location{font-size:.9rem;color:var(--text-color);opacity:.9;margin:0}.contact-header .contact-link{color:var(--text-color);text-decoration:none;transition:opacity .2s ease;font-size:.9rem}.contact-header .contact-link:hover{opacity:.7}.contact-links{display:flex;flex-direction:column;gap:.5rem;align-items:flex-end}.contact-links .contact-link{color:var(--text-color);text-decoration:none;transition:opacity .2s ease;font-size:.9rem}.contact-links .contact-link:hover{opacity:.7}.about-section{margin-bottom:3rem;padding-bottom:2rem;border-bottom:1px solid var(--border-color)}.about-section:last-child{border-bottom:none}.section-title{font-size:2rem;font-weight:400;margin-bottom:2rem;color:var(--text-color);text-transform:uppercase;letter-spacing:1px;border-top:3px solid var(--text-color);border-bottom:1px solid var(--border-color);padding:1rem 0;margin-top:2.5rem}.summary-content p{font-size:1.1rem;line-height:1.7;margin-bottom:1.5rem;text-align:justify}.skills-grid{display:grid;grid-template-columns:1fr;gap:0}.skill-category{padding:1.5rem 0;border-bottom:1px solid var(--border-color);background-color:transparent;transition:opacity .2s ease}.skill-category:last-child{border-bottom:none}.skill-category:hover{opacity:.9}.skill-category-title{font-size:1.3rem;font-weight:400;margin-bottom:1.5rem;color:var(--text-color);text-transform:uppercase;letter-spacing:1px}.skill-list-text{font-size:1rem;line-height:1.6;color:var(--text-color);margin:0;padding-bottom:1.5rem;border-bottom:1px solid var(--border-color)}.skill-list-text:last-child{border-bottom:none;padding-bottom:0}.skill-tags{display:flex;flex-wrap:wrap;gap:.5rem}.skill-tag{background-color:var(--nav-hover);border:1px solid var(--border-color);padding:.4rem .8rem;border-radius:3px;font-size:.9rem;font-weight:500}.experience-timeline{display:flex;flex-direction:column;gap:2rem}.experience-item{padding:2rem 0;border-bottom:1px solid var(--border-color);background-color:transparent;transition:opacity .2s ease}.experience-item:last-child{border-bottom:none}.experience-item:hover{opacity:.95}.experience-header{margin-bottom:1.5rem}.job-header-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:.8rem}.job-title{font-size:1.3rem;font-weight:400;color:var(--text-color);text-transform:uppercase;letter-spacing:1px;margin:0}.job-meta{display:flex;gap:1rem;align-items:center;font-size:.9rem;opacity:.8;margin-bottom:1rem}.company{font-weight:500}.job-description{font-size:1rem;line-height:1.6;margin-bottom:1.5rem;color:var(--text-color)}.job-achievements{list-style:none;padding:0}.job-achievements li{position:relative;padding-left:1.5rem;margin-bottom:.5rem;font-size:.9rem;line-height:1.5}.job-achievements li:before{content:"•";position:absolute;left:0;color:var(--text-color);font-weight:700}.achievements-section{margin-top:1.5rem;margin-bottom:1.5rem;padding:.5rem 0;color:var(--text-color)}.achievements-section strong{display:block;font-size:.9rem;text-transform:uppercase;letter-spacing:.5px;margin-bottom:.8rem;color:var(--text-color);font-weight:600}.achievements-list{margin:.5rem 0 0 1.5rem;padding:0;font-size:.95rem;line-height:1.6;color:var(--text-color);word-wrap:break-word;overflow-wrap:break-word;list-style-type:disc}.achievements-list li{margin-bottom:.4rem;color:var(--text-color)}.education-list{display:flex;flex-direction:column;gap:2rem}.education-item{padding:2rem 0;border-bottom:1px solid var(--border-color);background-color:transparent;transition:opacity .2s ease}.education-item:last-child{border-bottom:none}.education-item:hover{opacity:.95}.education-header{margin-bottom:1.5rem}.degree{font-size:1.3rem;font-weight:400;margin-bottom:.8rem;color:var(--text-color);text-transform:uppercase;letter-spacing:1px}.education-meta{display:flex;justify-content:space-between;align-items:center;font-size:.9rem;opacity:.8;margin-bottom:.8rem}.institution{font-weight:500}.education-details{display:flex;justify-content:space-between;align-items:center;font-size:.9rem;opacity:.8;margin-bottom:1rem}.gpa{font-weight:500}.education-description{font-size:1rem;line-height:1.6;color:var(--text-color)}.projects-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(500px,1fr));gap:2rem}.project-card{border:1px solid var(--border-color);padding:2rem;background-color:var(--page-bg);transition:box-shadow .2s ease}.project-header{margin-bottom:1.5rem}.project-name{font-size:1.3rem;font-weight:400;margin-bottom:.8rem;color:var(--text-color);text-transform:uppercase;letter-spacing:1px}.project-meta{display:flex;justify-content:space-between;align-items:center;font-size:.9rem;opacity:.8;margin-bottom:1rem}.project-accuracy{background-color:var(--nav-hover);border:1px solid var(--border-color);padding:.2rem .6rem;border-radius:3px;font-weight:500;font-size:.8rem}.project-technologies{margin-bottom:1.5rem}.project-footer{text-align:right}.project-link{color:var(--text-color);text-decoration:none;font-weight:500;transition:opacity .2s ease}.project-link:hover{opacity:.7}.leadership-list{display:flex;flex-direction:column;gap:2rem}.leadership-item{border:1px solid var(--border-color);padding:2rem;background-color:var(--page-bg);transition:box-shadow .2s ease}.leadership-item:hover{box-shadow:0 2px 8px var(--shadow-color)}.leadership-header{margin-bottom:1.5rem}.leadership-title{font-size:1.3rem;font-weight:400;margin-bottom:.8rem;color:var(--text-color);text-transform:uppercase;letter-spacing:1px}.leadership-meta{display:flex;justify-content:space-between;align-items:center;font-size:.9rem;opacity:.8;margin-bottom:1rem}.organization{font-weight:500}.leadership-description{font-size:1rem;line-height:1.6;color:var(--text-color)}.contact-info{display:flex;flex-direction:column;gap:1rem}.contact-item{font-size:1rem;line-height:1.6}.contact-link{color:var(--text-color);text-decoration:none;margin-left:.5rem;transition:opacity .2s ease}.contact-link:hover{opacity:.7}.institution-logo,.company-logo{width:60px;height:60px;object-fit:contain;margin-right:1.5rem;flex-shrink:0;border-radius:4px;background-color:var(--page-bg);padding:8px}.experience-header,.education-header{display:flex;align-items:flex-start;gap:1rem}.job-content,.education-content{flex:1}.coursework{margin-top:.4rem;margin-bottom:.6rem;padding:0;color:var(--text-color);font-size:.8rem;opacity:.8}.coursework strong{display:inline;margin-right:.3rem;font-size:.9rem;color:var(--text-color);font-weight:400}.coursework .coursework-list{margin:0;padding:0;font-size:.9rem!important;line-height:.9rem;color:var(--text-color);font-weight:400;word-wrap:break-word;overflow-wrap:break-word;display:inline}.achievements,.job-achievements,.project-highlights{list-style:none;padding:0;margin:1rem 0}.achievements li,.job-achievements li,.project-highlights li{position:relative;padding-left:1.5rem;margin-bottom:.6rem;font-size:.95rem;line-height:1.5;color:var(--text-color)}.achievements li:before,.job-achievements li:before,.project-highlights li:before{content:"✓";position:absolute;left:0;font-weight:700;color:var(--text-color)}.technologies,.project-technologies{margin:1.5rem 0}.technologies strong,.project-technologies strong{display:block;margin-bottom:.8rem;font-size:.9rem;text-transform:uppercase;letter-spacing:.5px}.tech-list,.tech-tags{display:flex;flex-wrap:wrap;gap:.6rem}.tech-badge,.tech-tag{background-color:transparent;border:1px solid var(--border-color);padding:.4rem .8rem;border-radius:0;font-size:.85rem;font-weight:500;white-space:nowrap;transition:background-color .2s ease}.tech-badge:hover,.tech-tag:hover{background-color:var(--nav-hover);color:var(--text-color)}.proficiency-badge{display:inline-block;padding:.3rem .6rem;border-radius:3px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;margin-left:.5rem;background-color:var(--nav-hover);border:1px solid var(--border-color);color:var(--text-color)}.proficiency-expert,.proficiency-advanced{background-color:var(--text-color);color:var(--page-bg);border-color:var(--text-color)}.proficiency-intermediate{background-color:var(--nav-hover);border-color:var(--border-color)}.proficiency-beginner{background-color:var(--page-bg);border-color:var(--border-color)}.years-badge{display:inline-block;padding:.3rem .6rem;border-radius:3px;font-size:.75rem;font-weight:600;background-color:var(--nav-hover);border:1px solid var(--border-color);margin-left:.5rem;color:var(--text-color)}.skill-items{display:flex;flex-direction:column;gap:1rem}.skill-item{display:flex;align-items:center;justify-content:space-between;padding:.8rem 0;border-bottom:1px solid var(--border-color)}.skill-item:last-child{border-bottom:none}.skill-name{font-weight:500;color:var(--text-color)}.projects-list{display:flex;flex-direction:column;gap:2rem}.project-card{border:1px solid var(--border-color);padding:2rem;background-color:var(--page-bg);transition:all .2s ease}.project-card:hover{box-shadow:0 2px 8px var(--shadow-color)}.project-thumbnail{width:100%;height:200px;margin-bottom:1.5rem;border-radius:4px;overflow:hidden;background-color:var(--nav-hover);display:flex;align-items:center;justify-content:center}.project-thumbnail img{width:100%;height:100%;object-fit:cover}.project-gallery{margin:1.5rem 0;display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem}.project-gallery img{width:100%;height:150px;object-fit:cover;border-radius:4px;cursor:pointer;transition:transform .2s ease}.project-gallery img:hover{transform:scale(1.05)}.project-category{display:inline-block;padding:.4rem .8rem;background-color:var(--nav-hover);border:1px solid var(--border-color);border-radius:3px;font-size:.8rem;font-weight:500;text-transform:uppercase;margin-bottom:.5rem}.project-dates{font-size:.9rem;opacity:.8;color:var(--text-color)}.project-title{font-size:1.4rem;font-weight:500;margin-bottom:.8rem;color:var(--text-color)}.project-short-description{font-size:.95rem;font-style:italic;margin-bottom:1rem;opacity:.9;color:var(--text-color)}.project-description{font-size:1rem;line-height:1.6;margin-bottom:1.5rem;color:var(--text-color)}.period{font-size:.9rem;opacity:.8;color:var(--text-color);margin-top:.5rem;display:block}.employment-type{font-size:.85rem;opacity:.8;background-color:var(--nav-hover);padding:.2rem .5rem;border-radius:3px}.focus-content{font-size:1rem;line-height:1.6}.focus-content ul{margin:1rem 0 1rem 2rem}.focus-content li{margin-bottom:.5rem}@media(max-width:768px){.tools-grid{flex-direction:column;gap:0}.tool-card{padding:1rem}.tool-header{flex-direction:column;align-items:flex-start;gap:.5rem}.tool-status-container{align-items:flex-start;flex-direction:row;gap:.5rem}.tool-links{flex-direction:column;gap:.5rem}.page-header{padding:1rem}.tools-section,.projects-section{padding:0}.project-stats{grid-template-columns:repeat(2,1fr);gap:1rem;padding:1.5rem}.stat-number{font-size:1.5rem}.skills-grid{grid-template-columns:1fr;gap:1.5rem}.job-meta,.education-meta,.education-details,.leadership-meta{flex-direction:column;align-items:flex-start;gap:.3rem}.projects-grid{grid-template-columns:1fr;gap:1.5rem}.project-card,.experience-item,.education-item,.leadership-item,.skill-category{padding:1.5rem}.project-meta,.job-meta,.education-meta,.education-details,.leadership-meta{flex-direction:column;align-items:flex-start;gap:.3rem}.contact-links{flex-direction:column;align-items:center;gap:.5rem}.page-title{font-size:2rem}.section-title{font-size:1.6rem}}.regex-builder-container{display:flex;flex-direction:column;gap:2rem;margin-bottom:2rem}.pattern-section{display:flex;flex-direction:column;gap:1rem;padding:1.5rem;background-color:var(--nav-hover);border:1px solid var(--border-color);border-radius:4px}.pattern-section h3,.pattern-section h2{font-size:1.1rem;font-weight:500;color:var(--text-color);margin:0;text-transform:uppercase;letter-spacing:1px}.pattern-input-group{display:flex;align-items:center;gap:.5rem;background-color:var(--page-bg);border:1px solid var(--border-color);border-radius:4px;padding:0 .8rem}.pattern-prefix,.pattern-suffix{font-family:Courier New,monospace;font-weight:700;color:var(--text-color);opacity:.6}.pattern-input{flex:1;padding:.8rem;border:none;background-color:transparent;color:var(--text-color);font-family:Courier New,monospace;font-size:.9rem}.flags-input{width:80px;padding:.8rem;border:none;background-color:transparent;color:var(--text-color);font-family:Courier New,monospace;font-size:.9rem;text-transform:lowercase}.flags-section{display:flex;flex-direction:column;gap:1rem}.flags-label{font-weight:500;color:var(--text-color);margin:0;font-size:.9rem;text-transform:uppercase;letter-spacing:1px}.flags-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:.8rem}.flag-checkbox{display:flex;align-items:center;gap:.5rem;padding:.6rem;background-color:var(--page-bg);border:1px solid var(--border-color);border-radius:3px;cursor:pointer;transition:all .2s ease}.flag-checkbox:hover{background-color:var(--border-color);color:var(--page-bg)}.flag-checkbox input[type=checkbox]{cursor:pointer}.flag-text{font-family:Courier New,monospace;font-weight:700;min-width:20px}.flag-description{font-size:.8rem;opacity:.7}.regex-tabs{display:flex;gap:.5rem;border-bottom:1px solid var(--border-color);overflow-x:auto}.regex-tab-button{padding:.8rem 1.2rem;background-color:transparent;border:none;border-bottom:2px solid transparent;color:var(--text-color);cursor:pointer;font-weight:500;text-transform:uppercase;letter-spacing:.5px;font-size:.85rem;opacity:.7;transition:all .2s ease;white-space:nowrap}.regex-tab-button:hover{opacity:1}.regex-tab-button.active{border-bottom-color:var(--border-color);opacity:1;background-color:var(--nav-hover)}.regex-tab-content{padding:1.5rem;background-color:var(--nav-hover);border:1px solid var(--border-color);border-radius:4px;min-height:300px}.tester-section,.replace-section,.saved-section,.examples-section{display:flex;flex-direction:column;gap:1rem}.tester-section label,.replace-section label{font-weight:500;color:var(--text-color);text-transform:uppercase;letter-spacing:.5px;font-size:.9rem}.test-textarea{width:100%;min-height:120px;padding:1rem;border:1px solid var(--border-color);background-color:var(--page-bg);color:var(--text-color);font-family:Courier New,monospace;font-size:.9rem;line-height:1.5;resize:vertical}.replace-input{width:100%;padding:.8rem;border:1px solid var(--border-color);background-color:var(--page-bg);color:var(--text-color);font-family:Courier New,monospace;font-size:.9rem}.test-button,.replace-button{padding:.8rem 1.5rem;background-color:var(--border-color);color:var(--page-bg);border:none;cursor:pointer;font-weight:600;text-transform:uppercase;letter-spacing:.5px;transition:all .2s ease;align-self:flex-start}.test-button:hover,.replace-button:hover{transform:translateY(-2px);box-shadow:0 2px 8px var(--shadow-color)}.error-message{padding:1rem;background-color:#ffebee;border:1px solid #F44336;color:#c62828;border-radius:4px;font-size:.9rem}.match-results{display:flex;flex-direction:column;gap:1rem;padding:1rem;background-color:var(--page-bg);border:1px solid var(--border-color);border-radius:4px}.result-summary{padding:.8rem;background-color:#e8f5e9;border:1px solid #4CAF50;border-radius:3px;font-weight:500;color:#2e7d32}.match-count{display:inline-block;padding:.2rem .6rem;background-color:#4caf50;color:#fff;border-radius:3px;font-size:.9rem}.matches-list{display:flex;flex-direction:column;gap:.8rem}.match-item{padding:.8rem;background-color:var(--nav-hover);border:1px solid var(--border-color);border-radius:3px}.match-info{display:flex;align-items:center;gap:.8rem;flex-wrap:wrap;margin-bottom:.5rem}.match-badge{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;background-color:var(--border-color);color:var(--page-bg);border-radius:50%;font-size:.75rem;font-weight:700}.match-text{font-family:Courier New,monospace;font-weight:600;color:var(--text-color);word-break:break-all}.match-position{font-size:.8rem;opacity:.7;color:var(--text-color)}.match-groups{font-size:.85rem;display:flex;flex-wrap:wrap;gap:.6rem;margin-top:.5rem}.group-item{background-color:var(--page-bg);padding:.3rem .6rem;border-radius:3px;border:1px solid var(--border-color);font-family:Courier New,monospace}.no-matches{padding:2rem;text-align:center;opacity:.6;font-style:italic;background-color:var(--page-bg);border:1px solid var(--border-color);border-radius:4px}.replace-result{display:flex;flex-direction:column;gap:1rem;padding:1rem;background-color:var(--page-bg);border:1px solid var(--border-color);border-radius:4px}.result-label{font-weight:500;color:var(--text-color);text-transform:uppercase;letter-spacing:.5px;font-size:.9rem}.result-output{display:flex;flex-direction:column;gap:.8rem}.result-output pre{margin:0;padding:1rem;background-color:var(--nav-hover);border:1px solid var(--border-color);border-radius:3px;font-family:Courier New,monospace;font-size:.85rem;line-height:1.5;overflow-x:auto;color:var(--text-color);word-break:break-word;white-space:pre-wrap}.copy-result-button{align-self:flex-start;padding:.6rem 1rem;background-color:#4caf50;color:#fff;border:none;cursor:pointer;font-weight:500;text-transform:uppercase;letter-spacing:.5px;font-size:.8rem;transition:all .2s ease}.copy-result-button:hover{background-color:#388e3c;transform:translateY(-1px)}.no-items{text-align:center;opacity:.6;padding:2rem;margin:0;font-style:italic}.saved-list{display:flex;flex-direction:column;gap:.8rem}.saved-regex-item{display:flex;justify-content:space-between;align-items:center;padding:.8rem;background-color:var(--page-bg);border:1px solid var(--border-color);border-radius:3px;flex-wrap:wrap;gap:1rem}.saved-info{display:flex;flex-direction:column;gap:.3rem;flex:1}.saved-pattern{font-family:Courier New,monospace;font-size:.9rem;color:var(--text-color);word-break:break-all}.saved-date{font-size:.75rem;opacity:.6;color:var(--text-color)}.saved-actions{display:flex;gap:.5rem}.action-btn{padding:.4rem .8rem;border:1px solid var(--border-color);background-color:var(--nav-hover);color:var(--text-color);cursor:pointer;font-size:.75rem;text-transform:uppercase;letter-spacing:.5px;font-weight:500;transition:all .2s ease}.action-btn:hover{transform:translateY(-1px);box-shadow:0 2px 4px var(--shadow-color)}.load-btn:hover{background-color:#4caf50;color:#fff}.delete-btn:hover{background-color:#f44336;color:#fff}.examples-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1rem}.example-card{padding:1rem;background-color:var(--page-bg);border:1px solid var(--border-color);border-radius:4px;display:flex;flex-direction:column;gap:.8rem}.example-card h4,.example-card h3{margin:0;font-size:1rem;color:var(--text-color);font-weight:500}.example-pattern{font-family:Courier New,monospace;font-size:.8rem;padding:.6rem;background-color:var(--nav-hover);border:1px solid var(--border-color);border-radius:3px;display:block;word-break:break-all;color:var(--text-color)}.example-test{margin:0;font-size:.9rem;color:var(--text-color)}.load-example-btn{padding:.6rem 1rem;background-color:var(--border-color);color:var(--page-bg);border:none;cursor:pointer;font-weight:500;text-transform:uppercase;letter-spacing:.5px;font-size:.8rem;transition:all .2s ease}.load-example-btn:hover{transform:translateY(-1px);box-shadow:0 2px 4px var(--shadow-color)}.save-regex-button{padding:.8rem 1.5rem;background-color:#ff9800;color:#fff;border:none;cursor:pointer;font-weight:600;text-transform:uppercase;letter-spacing:.5px;transition:all .2s ease;align-self:flex-start}.save-regex-button:hover{background-color:#f57c00;transform:translateY(-1px)}.regex-cheatsheet{margin-top:2rem;padding:2rem;background-color:var(--nav-hover);border:1px solid var(--border-color);border-radius:4px}.regex-cheatsheet h3,.regex-cheatsheet h2{font-size:1.3rem;font-weight:500;color:var(--text-color);margin-bottom:1.5rem;text-transform:uppercase;letter-spacing:1px}.cheatsheet-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem}.cheatsheet-category h4,.cheatsheet-category h3{font-size:1rem;font-weight:500;color:var(--text-color);margin-bottom:1rem;text-transform:uppercase;letter-spacing:.5px}.cheatsheet-category ul{list-style:none;padding:0;margin:0}.cheatsheet-category li{padding:.6rem;margin-bottom:.5rem;background-color:var(--page-bg);border:1px solid var(--border-color);border-radius:3px;font-size:.9rem;color:var(--text-color)}.cheatsheet-category code{font-family:Courier New,monospace;font-weight:600;color:var(--text-color);background-color:transparent}@media(max-width:768px){.pattern-input-group{flex-direction:column;align-items:flex-start}.flags-grid{grid-template-columns:1fr}.flag-checkbox{flex-direction:column;align-items:flex-start}.examples-grid,.cheatsheet-grid{grid-template-columns:1fr}.regex-tabs{flex-wrap:wrap}.regex-tab-button{padding:.6rem .8rem;font-size:.75rem}}.base64-converter-container{display:flex;flex-direction:column;gap:2rem;margin:2rem 0}.mode-selector{background:var(--nav-hover);border:1px solid var(--border-color);border-radius:8px;padding:1.5rem}.mode-selector h3,.mode-selector h2{margin-bottom:1rem;font-size:1.1rem}.mode-buttons{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.75rem}.mode-button{padding:.75rem 1rem;border:1px solid var(--border-color);background:var(--page-bg);color:var(--text-color);border-radius:6px;cursor:pointer;font-size:.9rem;transition:all .3s ease}.mode-button:hover{background:var(--border-color);color:var(--page-bg)}.mode-button.active{background:var(--border-color);color:var(--page-bg);font-weight:700}.base64-tabs{display:flex;gap:1rem;border-bottom:2px solid var(--border-color);margin-bottom:1.5rem;flex-wrap:wrap}.base64-tab-button{padding:.75rem 1.25rem;background:none;border:none;border-bottom:3px solid transparent;color:var(--text-color);cursor:pointer;font-size:1rem;transition:all .3s ease}.base64-tab-button:hover{color:var(--border-color)}.base64-tab-button.active{border-bottom-color:var(--border-color);font-weight:700}.base64-tab-content{background:var(--nav-hover);border:1px solid var(--border-color);border-radius:8px;padding:2rem}.converter-section{display:flex;flex-direction:column;gap:1.5rem}.converter-area{display:flex;flex-direction:column;gap:.5rem}.converter-area label{font-weight:700;font-size:.95rem}.converter-textarea{width:100%;min-height:150px;padding:1rem;border:1px solid var(--border-color);border-radius:6px;background:var(--page-bg);color:var(--text-color);font-family:Courier New,monospace;font-size:.9rem;resize:vertical;line-height:1.4}.converter-textarea:focus{outline:none;border-color:var(--text-color);box-shadow:0 0 0 2px var(--shadow-color)}.converter-textarea.output-textarea{background:var(--bg-color);opacity:.9}.converter-buttons{display:flex;gap:1rem;flex-wrap:wrap}.convert-button,.clear-button,.copy-button,.save-button,.download-button{padding:.75rem 1.5rem;border:1px solid var(--border-color);background:var(--border-color);color:var(--page-bg);border-radius:6px;cursor:pointer;font-size:.95rem;font-weight:500;transition:all .3s ease}.convert-button:hover,.save-button:hover,.download-button:hover{opacity:.85;transform:translateY(-2px)}.clear-button{background:var(--nav-hover);color:var(--text-color);border:1px solid var(--border-color)}.clear-button:hover{background:var(--border-color);color:var(--page-bg)}.copy-button{background:var(--nav-hover);color:var(--text-color);border:1px solid var(--border-color)}.copy-button:hover{background:var(--border-color);color:var(--page-bg)}.output-section{border-top:1px solid var(--border-color);padding-top:1.5rem}.output-actions{display:flex;gap:1rem;margin-top:1rem;flex-wrap:wrap}.info-box{background:var(--page-bg);border:1px solid var(--border-color);border-radius:6px;padding:1.5rem;margin-top:1rem}.info-box h4,.info-box h3{margin-bottom:.5rem}.info-box p{line-height:1.6}.image-section{display:grid;grid-template-columns:1fr 1fr;gap:2rem}.image-converter-area,.base64-to-image{display:flex;flex-direction:column;gap:1rem}.image-converter-area h3,.base64-to-image h3,.image-converter-area h2,.base64-to-image h2{font-size:1.1rem;margin-bottom:.5rem}.file-input-wrapper{display:flex;flex-direction:column;gap:.5rem}.file-input-wrapper label{font-weight:700}.file-input{padding:.75rem;border:2px dashed var(--border-color);border-radius:6px;background:var(--page-bg);color:var(--text-color);cursor:pointer}.file-input:hover{background:var(--nav-hover)}.image-preview-section{display:flex;flex-direction:column;gap:1rem;border-top:1px solid var(--border-color);padding-top:1rem}.image-preview{display:flex;justify-content:center;align-items:center;background:var(--page-bg);border:1px solid var(--border-color);border-radius:6px;padding:1rem;min-height:200px}.preview-img,.result-img{max-width:100%;max-height:250px;object-fit:contain;border-radius:4px}.image-base64-output{display:flex;flex-direction:column;gap:1rem}.image-base64-output label{font-weight:700}.image-actions{display:flex;gap:1rem;flex-wrap:wrap}.image-result{display:flex;flex-direction:column;gap:1rem;align-items:center;border-top:1px solid var(--border-color);padding-top:1rem;margin-top:1rem}.saved-section{display:flex;flex-direction:column;gap:1rem}.no-items{text-align:center;padding:2rem;color:var(--text-color);opacity:.7}.saved-list{display:flex;flex-direction:column;gap:1rem}.saved-conversion-item{display:flex;justify-content:space-between;align-items:center;background:var(--page-bg);border:1px solid var(--border-color);border-radius:6px;padding:1.25rem;gap:1rem}.conversion-info{display:flex;gap:1rem;align-items:flex-start;flex:1;min-width:0}.conversion-mode-badge{background:var(--border-color);color:var(--page-bg);padding:.5rem .75rem;border-radius:4px;font-weight:700;font-size:.9rem;white-space:nowrap}.conversion-details{display:flex;flex-direction:column;gap:.25rem;min-width:0}.conversion-details p{font-size:.9rem;word-break:break-word}.conversion-details p strong{display:inline-block;min-width:60px}.conversion-time{font-size:.8rem;opacity:.7}.conversion-actions{display:flex;gap:.5rem;flex-shrink:0}.action-btn{padding:.5rem 1rem;border:1px solid var(--border-color);background:var(--page-bg);color:var(--text-color);border-radius:4px;cursor:pointer;font-size:.85rem;transition:all .3s ease}.action-btn:hover{background:var(--border-color);color:var(--page-bg)}.load-btn{background:var(--nav-hover)}.delete-btn{background:var(--page-bg)}.base64-guide{background:var(--nav-hover);border:1px solid var(--border-color);border-radius:8px;padding:2rem;margin:2rem 0}.base64-guide h3,.base64-guide h2{margin-bottom:1rem;font-size:1.2rem}.base64-guide h4,.base64-guide h3{margin-top:1.5rem;margin-bottom:.75rem;font-size:1rem}.base64-guide p{margin-bottom:1rem;line-height:1.6}.base64-guide ul{margin-left:2rem;margin-bottom:1rem}.base64-guide li{margin-bottom:.5rem}.base64-guide code{background:var(--page-bg);padding:.25rem .5rem;border-radius:3px;font-family:Courier New,monospace;font-size:.9rem;word-break:break-all}@media(max-width:768px){.mode-buttons,.image-section{grid-template-columns:1fr}.converter-textarea{min-height:120px}.base64-tabs{gap:.5rem}.base64-tab-button{padding:.5rem .75rem;font-size:.9rem}.saved-conversion-item{flex-direction:column;align-items:flex-start}.conversion-actions{width:100%}.conversion-actions button{flex:1}.base64-tab-content{padding:1.5rem 1rem}}@media(max-width:480px){.converter-buttons{flex-direction:column}.converter-buttons button{width:100%}.output-actions{flex-direction:column}.output-actions button{width:100%}.image-actions{flex-direction:column}.image-actions button{width:100%}.mode-buttons{gap:.5rem}.mode-button{font-size:.8rem;padding:.6rem .8rem}}.articles-page{padding:0;max-width:100%;margin:0 auto}.articles-page h2{font-size:2.5rem;margin:0 0 1rem;color:var(--text-color);font-weight:700;border-bottom:2px solid var(--text-color);padding:1rem}.articles-page>p{color:var(--text-color);opacity:.8;margin:0 0 2rem;padding:0 1rem;font-size:1rem}.articles-list{display:flex;flex-direction:column;gap:0;margin:0 auto;max-width:100%}.article-summary{background:transparent;border:none;border-bottom:1px solid var(--border-color);border-radius:0;overflow:hidden;transition:all .3s ease;cursor:pointer;display:flex;flex-direction:column;padding:1.5rem;box-shadow:none}.article-summary:last-child{border-bottom:none}.article-summary:hover{transform:none;background:var(--nav-hover);box-shadow:none}.article-summary-image{width:100%;height:250px;overflow:hidden;background:var(--nav-hover);flex-shrink:0;margin:0 0 1rem;border-radius:0}.article-summary-image img{width:100%;height:100%;object-fit:cover;transition:transform .3s ease;display:block}.article-summary:hover .article-summary-image img{transform:scale(1.02)}.article-summary-body{padding:0;display:flex;flex-direction:column;flex:1}.article-summary-header{margin-bottom:.5rem}.article-summary-title{font-size:1.5rem;font-weight:700;margin:0;color:var(--text-color);line-height:1.3}.article-summary-meta{display:flex;flex-wrap:wrap;gap:1rem;font-size:.8rem;color:var(--text-color);opacity:.7;margin-bottom:1rem;margin-top:.3rem}.article-summary-author,.article-summary-date,.article-summary-reading-time{display:inline-block}.article-summary-excerpt{font-size:1rem;line-height:1.6;color:var(--text-color);opacity:.9;margin:0 0 .5rem;flex:1}.article-summary-tags{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:auto;padding-top:.5rem}.article-summary-tags .tag{display:inline-block;background:transparent;color:var(--text-color);padding:.25rem .6rem;border-radius:0;font-size:.75rem;font-weight:500;border:1px solid var(--border-color)}.single-article-page{padding:0;max-width:100%;margin:0}.article-display{background:var(--bg-color);border:none;border-radius:0;overflow:visible;padding:0;max-width:100%;margin:0 auto}.article-featured-image{width:100%;margin:0;padding:0;overflow:hidden;max-height:400px;background:var(--nav-hover)}.article-featured-image img{width:100%;height:100%;object-fit:cover;display:block}.article-header{padding:2rem;border-bottom:1px solid var(--border-color);background:var(--bg-color)}.article-title{font-size:2.5rem;font-weight:700;margin:0 0 1rem;color:var(--text-color);line-height:1.2}.article-meta{display:flex;flex-wrap:wrap;gap:1.5rem;font-size:.9rem;color:var(--text-color);opacity:.7;margin-bottom:0;padding:0;border-bottom:none}.article-author,.article-date,.article-reading-time,.article-word-count{display:inline-flex;align-items:center;gap:.3rem}.article-excerpt{font-size:1rem;font-style:italic;color:var(--text-color);opacity:.85;margin:1rem 0 0;line-height:1.6;padding-left:1rem;border-left:3px solid var(--border-color)}.article-content{padding:2rem;line-height:1.8;background:var(--bg-color);color:var(--text-color)}.article-content h1{font-size:1.8rem;font-weight:700;border-bottom:1px solid var(--border-color);padding-bottom:.5rem;margin-top:2rem;margin-bottom:1rem}.article-content h2{font-size:1.5rem;font-weight:700;margin-top:1.5rem;margin-bottom:.8rem;color:var(--text-color)}.article-content h3{font-size:1.2rem;font-weight:700;margin-top:1.2rem;margin-bottom:.6rem;color:var(--text-color)}.article-footer{padding:1.5rem 2rem;border-top:1px solid var(--border-color);background:var(--bg-color);display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;flex-wrap:wrap}.article-tags{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;padding:0;margin:0}.tags-label{font-weight:700;color:var(--text-color);font-size:.85rem;opacity:.8}.article-tags .tag{display:inline-block;background:var(--nav-hover);color:var(--text-color);padding:.25rem .6rem;border-radius:4px;font-size:.8rem;font-weight:500;transition:all .2s ease}.article-tags .tag:hover{opacity:.9;transform:translateY(-1px)}.article-last-updated{font-size:.8rem;color:var(--text-color);opacity:.6;white-space:nowrap;margin-left:auto}@media(max-width:768px){.articles-page{padding:0}.articles-page h2{font-size:2rem;margin-bottom:1rem;padding:1rem}.article-summary{flex-direction:column;padding:1.5rem}.article-summary-image{width:100%;height:200px;margin-right:0;margin-bottom:1rem}.article-header{padding:0}.article-title{font-size:2rem}.article-content,.article-footer{padding:0}}@media(max-width:480px){.articles-page{padding:0}.articles-page h2{font-size:1.5rem;padding:1rem}.article-summary-title{font-size:1rem}.article-title{font-size:1.5rem}.article-header,.article-content{padding:1rem}.article-footer{flex-direction:column;gap:.5rem;padding:1rem}.article-last-updated{margin-left:0}}.loading-spinner-container{display:flex;justify-content:center;align-items:center;padding:4rem 2rem;background-color:var(--page-bg)}.loading-spinner{text-align:center;display:flex;flex-direction:column;align-items:center;gap:1.5rem}.loading-spinner .spinner{width:50px;height:50px;border:4px solid var(--border-color);border-top:4px solid var(--bg-color);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.loading-spinner p{font-size:1rem;color:var(--text-color);letter-spacing:.05em}.error-message-container{display:flex;justify-content:center;align-items:center;padding:2rem 1rem;background-color:var(--page-bg)}.error-message{border-left:4px solid var(--border-color);padding:1.5rem;background-color:var(--nav-hover);max-width:500px;font-family:Times New Roman,Georgia,serif}.error-message h3{font-size:1.2rem;margin-bottom:.5rem;color:var(--text-color)}.error-message p{margin:.5rem 0;color:var(--text-color);font-size:.95rem;line-height:1.6}.error-message .error-note{font-style:italic;margin-top:.75rem;font-size:.9rem;color:var(--text-color);opacity:.8}.llm-chat-page{display:flex;flex-direction:column;height:100%;width:100%}.chat-header{padding:2rem;background-color:var(--page-bg);border-bottom:1px solid var(--border-color);text-align:center}.chat-header h1{font-size:2.5rem;margin-bottom:.5rem;color:var(--text-color)}.chat-header p{font-size:1rem;color:var(--text-color);opacity:.8;margin:0}.chat-container{display:flex;flex:1;gap:2rem;padding:2rem;min-height:0;max-height:100vh;overflow:hidden}.chat-sidebar{width:250px;border-right:1px solid var(--border-color);padding-right:2rem;display:flex;flex-direction:column;gap:2rem;flex-shrink:0}.model-selector,.streaming-toggle{display:flex;flex-direction:column;gap:.5rem}.model-selector label,.streaming-toggle label{font-size:.95rem;font-weight:600;color:var(--text-color);display:flex;align-items:center;gap:.5rem}.model-select{padding:.6rem;border:1px solid var(--border-color);background-color:var(--page-bg);color:var(--text-color);border-radius:4px;font-family:Times New Roman,serif;font-size:.9rem;cursor:pointer}.model-select:hover,.model-select:focus{border-color:var(--text-color);outline:none}.streaming-toggle input[type=checkbox]{width:18px;height:18px;cursor:pointer;accent-color:var(--text-color)}.chat-info{padding:1rem;background-color:var(--nav-hover);border-radius:4px;border:1px solid var(--border-color)}.chat-info h3{margin-top:0;margin-bottom:.8rem;font-size:1rem;color:var(--text-color)}.chat-info p{font-size:.85rem;color:var(--text-color);margin-bottom:.8rem;line-height:1.5}.chat-info ul{margin:0;padding-left:1.2rem;font-size:.85rem;color:var(--text-color)}.chat-info li{margin-bottom:.4rem;line-height:1.4}.chat-main{flex:1;display:flex;flex-direction:column;min-width:0;max-height:100%;overflow:hidden}.error-banner{background-color:#ffebee;border:1px solid #ef5350;border-radius:4px;padding:1rem;margin-bottom:1rem;display:flex;justify-content:space-between;align-items:center;color:#c62828;flex-shrink:0}.error-banner p{margin:0;font-size:.95rem}.error-banner button{background:none;border:none;font-size:1.5rem;color:#c62828;cursor:pointer;padding:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center}.error-banner button:hover{color:#b71c1c}.messages-container{flex:1;overflow-y:auto;overflow-x:hidden;scroll-behavior:smooth;padding:1.5rem;display:flex;flex-direction:column;gap:1rem;border:1px solid var(--border-color);border-radius:4px;background-color:var(--page-bg);min-height:300px;max-height:100%}.messages-container::-webkit-scrollbar{width:8px}.messages-container::-webkit-scrollbar-track{background-color:var(--nav-hover);border-radius:4px}.messages-container::-webkit-scrollbar-thumb{background-color:var(--border-color);border-radius:4px}.messages-container::-webkit-scrollbar-thumb:hover{background-color:var(--text-color);opacity:.8}.message{display:flex;flex-direction:column;gap:.4rem;animation:slideIn .3s ease-out}@keyframes slideIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.message-user{align-items:flex-end}.message-user .message-content{background-color:var(--border-color);color:beige;border-radius:12px 12px 4px;padding:.8rem 1rem;max-width:80%;word-wrap:break-word}.message-assistant{align-items:flex-start}.message-assistant .message-content{background-color:var(--nav-hover);color:var(--text-color);border-radius:12px 12px 12px 4px;padding:.8rem 1rem;max-width:80%;border:1px solid var(--border-color);word-wrap:break-word}.message-content p{margin:0;font-size:.95rem;line-height:1.5;white-space:pre-wrap;color:inherit}.message-time{font-size:.75rem;color:var(--text-color);opacity:.6}.message-loading{align-items:flex-start}.loading-dots{display:flex;gap:.4rem;padding:1rem;background-color:var(--nav-hover);border-radius:12px 12px 12px 4px;border:1px solid var(--border-color)}.loading-dots span{width:8px;height:8px;background-color:var(--text-color);border-radius:50%;animation:pulse 1.4s infinite}.loading-dots span:nth-child(2){animation-delay:.2s}.loading-dots span:nth-child(3){animation-delay:.4s}@keyframes pulse{0%,60%,to{opacity:.3}30%{opacity:1}}.chat-input-form{display:flex;gap:.8rem;margin-top:1rem;flex-shrink:0}.chat-input{flex:1;padding:.8rem 1rem;border:1px solid var(--border-color);border-radius:4px;background-color:var(--page-bg);color:var(--text-color);font-family:Times New Roman,serif;font-size:.95rem;outline:none;transition:border-color .2s ease}.chat-input:focus{border-color:var(--text-color)}.chat-input:disabled{opacity:.6;cursor:not-allowed}.send-button{padding:.8rem 1.5rem;background-color:var(--text-color);color:var(--page-bg);border:1px solid var(--border-color);border-radius:4px;cursor:pointer;font-size:.95rem;font-weight:600;transition:all .2s ease;text-transform:uppercase;letter-spacing:.5px}.send-button:hover:not(:disabled){background-color:var(--border-color);border-color:var(--text-color);transform:translateY(-2px)}.send-button:disabled{opacity:.5;cursor:not-allowed}@media(max-width:1024px){.chat-container{flex-direction:column;gap:1rem;padding:1rem;max-height:none;overflow:visible}.chat-sidebar{width:100%;border-right:none;border-bottom:1px solid var(--border-color);padding-right:0;padding-bottom:1rem;max-height:auto}.chat-main{max-height:calc(100vh - 400px)}.message-user .message-content,.message-assistant .message-content{max-width:100%}}@media(max-width:768px){.llm-chat-page{min-height:100vh;display:flex;flex-direction:column}.chat-header{padding:1rem}.chat-header h1{font-size:1.5rem}.chat-header p{font-size:.9rem}.chat-container{flex:1;min-height:0;max-height:none;overflow:visible;flex-direction:column;padding:.5rem;gap:.5rem}.chat-sidebar{max-height:auto;overflow:visible;border-bottom:1px solid var(--border-color);padding-bottom:1rem}.chat-info{max-height:200px;overflow-y:auto}.chat-main{flex:1;min-height:300px;max-height:calc(100vh - 450px)}.messages-container{min-height:200px;max-height:100%;padding:.8rem}.chat-input-form{flex-direction:row;gap:.5rem;padding:.5rem;margin-top:.5rem}.chat-input{padding:.6rem;font-size:.85rem}.send-button{padding:.6rem 1rem;width:auto;font-size:.85rem}.model-selector label,.streaming-toggle label{font-size:.85rem}.model-select{font-size:.8rem;padding:.4rem}}@media(max-width:480px){.chat-header h1{font-size:1.2rem}.chat-main{max-height:calc(100vh - 380px)}.chat-input-form{flex-direction:column;gap:.3rem}.send-button{width:100%}.messages-container{min-height:150px}.message-user .message-content,.message-assistant .message-content{max-width:95%}}.pipeline-page{display:flex;flex-direction:column;width:100%;padding:0}.pipeline-header{text-align:left;margin-bottom:2rem;border-bottom:2px solid var(--text-color);padding:1rem}.pipeline-header h1{font-size:2.5rem;color:var(--text-color);margin:0 0 .5rem;font-weight:700}.pipeline-header p{font-size:1rem;color:var(--text-color);margin:0;opacity:.8}.pipeline-content{display:flex;flex-direction:column;gap:2rem;padding:1rem}.pipeline-diagram{width:100%;max-width:100%;margin:0 auto;background-color:transparent;border:1px solid var(--border-color);border-radius:0;padding:0;box-shadow:none}.wire-wrap{position:relative;width:100%;aspect-ratio:1636.18 / 2181.34;margin:0 auto}.back-wires-embed{position:absolute;top:0;left:0;width:100%;height:100%;z-index:1;display:block}.back-wires-embed svg{width:100%;height:100%;display:block;filter:drop-shadow(0 0 4px rgba(0,0,0,.1))}.front-wires-embed{position:absolute;top:0;left:0;width:100%;height:100%;z-index:2}.front-wires-embed svg{width:100%;height:100%}.pipeline-cards{display:flex;flex-direction:column;gap:0;width:100%;max-width:100%;margin:0 auto;padding:0}.info-card{background-color:transparent;border:none;border-bottom:1px solid var(--border-color);border-radius:0;padding:1.5rem;transition:all .3s ease;box-shadow:none}.info-card:last-child{border-bottom:none}.info-card:hover{transform:none;background-color:var(--nav-hover);box-shadow:none}.info-card h3{font-size:1.3rem;color:var(--text-color);margin:0 0 .8rem;font-weight:700}.info-card p{font-size:.95rem;color:var(--text-color);line-height:1.6;margin-bottom:.8rem;opacity:.9}.info-card ul{margin:0;padding-left:1.2rem;font-size:.95rem;color:var(--text-color);line-height:1.6;opacity:.9}.info-card li{margin-bottom:.4rem}.info-card strong{color:var(--text-color);font-weight:600}.pipeline-skills{width:100%;max-width:100%;margin:0 auto;padding:1.5rem;background-color:transparent;border:none;border-top:1px solid var(--border-color);border-radius:0;box-shadow:none}.pipeline-skills h2{font-size:2rem;color:var(--text-color);text-align:left;margin:0 0 2rem;font-weight:700;border-bottom:2px solid var(--text-color);padding-bottom:1rem}.skills-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:1.2rem}.skill-item{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:1rem;background-color:transparent;border:1px solid var(--border-color);border-radius:0;text-align:center;transition:all .3s ease}.skill-item:hover{transform:none;background-color:var(--nav-hover);box-shadow:none}.skill-icon{font-size:1.8rem}.skill-name{font-size:.85rem;font-weight:600;color:var(--text-color);line-height:1.3}@media(max-width:1024px){.pipeline-page{padding:0}.pipeline-header h1{font-size:2rem}.pipeline-cards{flex-direction:column}.skills-grid{grid-template-columns:repeat(auto-fit,minmax(80px,1fr))}}@media(max-width:768px){.pipeline-page{padding:0}.pipeline-header{padding:1rem}.pipeline-header h1{font-size:1.5rem}.pipeline-header p{font-size:.9rem}.pipeline-content{padding:1rem}.pipeline-cards{flex-direction:column;gap:0}.info-card{padding:1rem}.info-card h3{font-size:1rem}.info-card p,.info-card ul{font-size:.85rem}.pipeline-skills{padding:1rem}.pipeline-skills h2{font-size:1.5rem}.skills-grid{grid-template-columns:repeat(3,1fr);gap:1rem}.skill-item{padding:.8rem}.skill-icon{font-size:1.5rem}.skill-name{font-size:.75rem}}@media(max-width:480px){.pipeline-page{padding:0}.pipeline-header{margin-bottom:1rem;padding:.8rem}.pipeline-header h1{font-size:1.3rem;margin-bottom:.3rem}.pipeline-header p{font-size:.8rem}.pipeline-content{gap:1.5rem;padding:.8rem}.pipeline-cards{flex-direction:column;gap:0}.info-card{padding:.8rem}.info-card h3{font-size:.95rem;margin-bottom:.5rem}.info-card p,.info-card ul{font-size:.8rem}.pipeline-skills{padding:1rem;margin-top:.5rem}.pipeline-skills h2{font-size:1.2rem;margin-bottom:1rem;padding-bottom:.5rem}.skills-grid{grid-template-columns:repeat(2,1fr);gap:.8rem}.skill-item{padding:.7rem}.skill-icon{font-size:1.3rem}.skill-name{font-size:.65rem}}.section-header{border-top:var(--rule-thick) solid var(--ink);border-bottom:var(--rule-thin) solid var(--border);padding:.6rem 0 .5rem;margin:2rem 0 1.25rem;font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:3px;font-family:var(--font-serif);color:var(--ink);display:flex;align-items:center;gap:.75rem}.section-header:after{content:"";flex:1;height:1px;background:var(--border);opacity:.5}.stats-bar{display:grid;grid-template-columns:repeat(4,1fr);border-top:var(--rule-thick) solid var(--ink);border-bottom:var(--rule-thick) solid var(--ink);border-left:1px solid var(--border);margin-bottom:2rem}.stat{text-align:center;padding:1.25rem .5rem;border-right:1px solid var(--border)}.stat-num{display:block;font-size:2.2rem;font-weight:900;color:var(--ink);line-height:1;margin-bottom:.3rem}.stat-label{display:block;font-size:.65rem;text-transform:uppercase;letter-spacing:2px;color:var(--ink);opacity:.7}.social-links{display:flex;gap:1rem;justify-content:flex-end;flex-wrap:wrap}.social-link{color:var(--ink);text-decoration:none;font-size:.9rem;transition:opacity .2s ease;border-bottom:1px solid var(--border);padding-bottom:1px}.social-link:hover{opacity:.6}.initials-avatar{width:100px;height:100px;border-radius:50%;border:2px solid var(--ink);background:var(--muted);display:flex;align-items:center;justify-content:center;font-size:2rem;font-weight:400;color:var(--ink);flex-shrink:0;letter-spacing:2px;font-family:var(--font-serif)}.profile-row{display:flex;align-items:flex-start;gap:2rem;margin-bottom:1.25rem}.profile-img{width:90px;height:90px;border:2px solid var(--ink);object-fit:cover;flex-shrink:0}.profile-info{flex:1;text-align:right}.profile-contacts{display:flex;flex-direction:column;gap:.3rem;align-items:flex-end;margin-top:.5rem}.profile-contact{font-size:.82rem;font-style:italic;text-decoration:none;color:var(--ink);opacity:.85;transition:opacity .2s ease}.profile-contact:hover{opacity:1;text-decoration:underline}.tagline-rule{text-align:center;font-style:italic;font-size:.95rem;padding:.75rem 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border);margin:.5rem 0 1.5rem;color:var(--ink);opacity:.85}.bio-text:first-letter{float:left;font-size:3.8em;line-height:.8;padding-right:.12em;font-weight:700;color:var(--ink)}.exp-item{border-bottom:1px solid var(--border);padding:1.1rem 0}.exp-item:first-child{border-top:var(--rule-thick) solid var(--ink)}.exp-header{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-bottom:.3rem}.exp-role{font-size:1rem;font-weight:700;text-transform:uppercase;letter-spacing:1px;margin:0;color:var(--ink)}.exp-period{font-size:.78rem;font-style:italic;color:var(--ink);opacity:.75;white-space:nowrap}.exp-company{font-size:.88rem;color:var(--ink);opacity:.8;margin-bottom:.5rem}.exp-desc{font-size:.88rem;line-height:1.55;color:var(--ink);margin-bottom:.5rem}.exp-techs{display:flex;flex-wrap:wrap;gap:.3rem;margin-top:.4rem}.exp-tech{font-size:.72rem;font-family:var(--font-mono);border:1px solid var(--border);padding:.1rem .45rem;color:var(--ink);opacity:.8}.edu-item{border-bottom:1px solid var(--border);padding:1rem 0}.edu-item:first-child{border-top:var(--rule-thick) solid var(--ink)}.edu-degree{font-size:1rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;margin:0 0 .2rem;color:var(--ink)}.edu-school{font-size:.88rem;color:var(--ink);opacity:.8}.edu-dates{font-size:.78rem;font-style:italic;color:var(--ink);opacity:.7}.skills-newspaper-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:0}.skill-cat:nth-child(odd){padding-right:1.5rem;border-right:1px solid var(--border);margin-bottom:1.25rem}.skill-cat:nth-child(2n){padding-left:1.5rem;margin-bottom:1.25rem}.skill-cat-title{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:2.5px;color:var(--ink);margin-bottom:.45rem;padding-bottom:.3rem;border-bottom:1px solid var(--border)}.skill-cat-list{font-size:.85rem;line-height:1.7;color:var(--ink);opacity:.85;margin:0}.project-row{border-bottom:1px solid var(--border);padding:1.25rem 0}.project-row:first-child{border-top:var(--rule-thick) solid var(--ink)}.proj-header{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;margin-bottom:.4rem}.proj-name{font-size:1.05rem;text-transform:uppercase;letter-spacing:1.5px;font-weight:700;color:var(--ink)}.proj-period{font-size:.78rem;font-style:italic;color:var(--ink);opacity:.7;margin-left:auto}.proj-desc{font-size:.88rem;line-height:1.55;color:var(--ink);margin-bottom:.5rem}.badge{font-size:.65rem;font-family:var(--font-mono);padding:.15rem .5rem;color:#fff;font-weight:700;letter-spacing:.5px;text-transform:uppercase}.badge-live{background:#2e6b2e}.badge-done{background:#1a3d6b}.badge-dev{background:#7a4a1a}.badge-cat{background:transparent;border:1px solid var(--border);color:var(--ink);font-size:.65rem;font-family:var(--font-mono);padding:.15rem .5rem}.article-card{border-bottom:1px solid var(--border);padding:1.25rem 0;text-decoration:none;display:block;color:var(--ink);transition:background-color .15s ease}.article-card:first-child{border-top:var(--rule-thick) solid var(--ink)}.article-card:hover{background-color:var(--muted);margin:0 -.5rem;padding:1.25rem .5rem}.article-card-title{font-size:1.5rem;text-transform:uppercase;font-weight:900;letter-spacing:.5px;line-height:1.1;margin:0 0 .5rem;color:var(--ink)}.article-card-meta{font-size:.75rem;font-style:italic;color:var(--ink);opacity:.7;margin-bottom:.6rem;display:flex;gap:1rem;flex-wrap:wrap}.article-card-excerpt{font-size:.9rem;line-height:1.6;border-left:3px solid var(--ink);padding-left:.9rem;color:var(--ink);opacity:.85;margin:.5rem 0}.article-card-tags{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:.6rem}.art-tag{font-size:.68rem;font-family:var(--font-mono);border:1px solid var(--border);padding:.1rem .4rem;color:var(--ink);opacity:.7}.art-title{font-size:2.2rem;font-weight:900;text-transform:uppercase;letter-spacing:.5px;line-height:1.1;margin:0 0 .75rem;color:var(--ink)}.art-meta{font-size:.8rem;font-style:italic;color:var(--ink);opacity:.7;display:flex;gap:1rem;flex-wrap:wrap;padding-bottom:1rem;border-bottom:1px solid var(--border);margin-bottom:1rem}.art-excerpt{font-size:1.05rem;font-style:italic;line-height:1.65;border-left:3px solid var(--ink);padding-left:1rem;margin-bottom:1.5rem;color:var(--ink);opacity:.88}.art-body p:first-child:first-letter{float:left;font-size:3.8em;line-height:.8;padding-right:.12em;font-weight:700;color:var(--ink)}.art-body{font-size:.95rem;line-height:1.75;color:var(--ink)}.back-btn{display:inline-block;font-size:.8rem;text-transform:uppercase;letter-spacing:1.5px;color:var(--ink);text-decoration:none;border-bottom:1px solid var(--border);padding-bottom:1px;margin-bottom:1.5rem;cursor:pointer;background:none;border-top:none;border-left:none;border-right:none;font-family:var(--font-serif)}.back-btn:hover{border-bottom-color:var(--ink);opacity:.75}.state-msg{padding:2rem 0;font-style:italic;color:var(--ink);opacity:.7}.ornament{text-align:center;opacity:.4;font-size:.85rem;letter-spacing:.8rem;margin:1.5rem 0;color:var(--ink)}.messages-box{border-top:var(--rule-thick) solid var(--ink);border-left:1px solid var(--border);border-right:1px solid var(--border);border-bottom:1px solid var(--border);min-height:300px;max-height:400px;overflow-y:auto;padding:1rem;display:flex;flex-direction:column;gap:.75rem;scroll-behavior:smooth}.msg{display:flex;flex-direction:column;gap:.2rem}.msg-assistant .msg-bubble{border-left:3px solid var(--ink);background:var(--muted);padding:.65rem .85rem;font-size:.88rem;line-height:1.6;color:var(--ink)}.msg-user .msg-bubble{background:var(--ink);color:var(--page);padding:.65rem .85rem;font-size:.88rem;font-style:italic;line-height:1.6;align-self:flex-end;max-width:80%}.msg-time{font-size:.7rem;opacity:.5;font-style:italic;color:var(--ink)}.msg-user .msg-time{text-align:right}.msg-dots{display:flex;gap:.35rem;align-items:center;padding:.65rem .85rem;border-left:3px solid var(--ink);background:var(--muted)}.dot{width:6px;height:6px;border-radius:50%;background:var(--ink);opacity:.4;animation:pulse 1.4s ease-in-out infinite}.dot:nth-child(2){animation-delay:.2s}.dot:nth-child(3){animation-delay:.4s}@keyframes pulse{0%,80%,to{opacity:.4;transform:scale(1)}40%{opacity:1;transform:scale(1.2)}}.chat-form{display:flex;border:1px solid var(--border);border-top:none}.chat-input-field{flex:1;border:none;outline:none;padding:.75rem 1rem;font-family:var(--font-serif);font-size:.9rem;background:var(--page);color:var(--ink)}.chat-send-btn{border:none;border-left:1px solid var(--border);background:var(--ink);color:var(--page);padding:.75rem 1.25rem;font-family:var(--font-serif);font-size:.8rem;text-transform:uppercase;letter-spacing:1px;cursor:pointer;transition:opacity .15s ease}.chat-send-btn:hover:not(:disabled){opacity:.8}.chat-send-btn:disabled{opacity:.4;cursor:not-allowed}.pipeline-cards-grid{display:grid;grid-template-columns:repeat(2,1fr);border-top:var(--rule-thick) solid var(--ink);border-left:1px solid var(--border)}.info-card-np{border-right:1px solid var(--border);border-bottom:1px solid var(--border);padding:1.1rem}.info-card-np:nth-child(2n){border-right:none}.info-card-label{font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:2px;color:var(--ink);opacity:.6;margin-bottom:.3rem}.info-card-value{font-size:.88rem;color:var(--ink);line-height:1.5}.pipeline-skills-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:var(--rule-thick) solid var(--ink);border-left:1px solid var(--border)}.ps-item{border-right:1px solid var(--border);border-bottom:1px solid var(--border);padding:.55rem .4rem;text-align:center;font-size:.78rem;color:var(--ink);font-family:var(--font-mono)}.chat-sidebar-section{margin-bottom:1.5rem}.chat-label{font-size:.68rem;text-transform:uppercase;letter-spacing:2px;color:var(--ink);opacity:.6;margin-bottom:.4rem;display:block}.chat-sidebar-heading{font-size:.82rem;font-weight:700;text-transform:uppercase;letter-spacing:1px;margin:0 0 .5rem;color:var(--ink)}.chat-sidebar-body{font-size:.82rem;line-height:1.55;color:var(--ink);opacity:.85}.chat-sidebar-list{font-size:.82rem;padding-left:1.2rem;line-height:1.8;color:var(--ink);opacity:.8}.chat-error-banner{background:transparent;border:1px solid var(--ink);border-left:3px solid var(--ink);padding:.65rem .85rem;margin-bottom:1rem;font-size:.85rem;display:flex;align-items:flex-start;justify-content:space-between;gap:.5rem;color:var(--ink)}.chat-error-banner button{background:none;border:none;cursor:pointer;font-size:1rem;color:var(--ink);opacity:.6;padding:0;flex-shrink:0}.dcmetro-toolbar{display:flex;justify-content:flex-end;padding:.4rem .6rem;border-top:var(--rule-thick) solid var(--ink);border-left:1px solid var(--border);border-right:1px solid var(--border);border-bottom:1px solid var(--border);background:var(--muted)}.dcmetro-open-btn{font-size:.75rem;font-family:var(--font-serif);text-transform:uppercase;letter-spacing:1px;color:var(--ink);text-decoration:none;opacity:.75;transition:opacity .15s ease}.dcmetro-open-btn:hover{opacity:1}.dcmetro-embed{border-left:1px solid var(--border);border-right:1px solid var(--border);border-bottom:1px solid var(--border)}.dcmetro-iframe{width:100%;height:750px;border:none;display:block}@media print{.layout{padding:0}.page-container{box-shadow:none;border:none;width:100%;height:auto}.dark-mode-toggle{display:none}}*,*:before,*:after{border-radius:0!important}.loading-spinner .spinner,.loading-dots span{border-radius:50%!important}a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--ink);outline-offset:2px}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.text-link,.text-button{color:var(--ink);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px;text-decoration-color:var(--border);transition:text-decoration-color .25s cubic-bezier(.16,1,.3,1)}.text-link:hover,.text-button:hover{text-decoration-color:var(--ink)}.text-button{background:none;border:none;padding:0;font:inherit;cursor:pointer}.text-button:active{transform:translateY(1px)}.dark-mode-toggle{color:var(--text-color)}.home-page .section-heading,.single-article-page .section-heading{font-size:1.5rem;font-weight:400;text-transform:none;letter-spacing:0;text-align:left;line-height:1.2;margin:0 0 1rem;padding-top:.6rem;border-top:var(--rule-thick) solid var(--ink)}.home-page .home-masthead .page-title{font-size:clamp(1.9rem,4.2vw,2.5rem);line-height:1.15;margin-bottom:.75rem}.home-page .home-masthead .page-subtitle{font-size:1.05rem;text-align:left;max-width:60ch;margin:0}.home-section{margin:0 0 3rem}.home-lead{padding-bottom:.5rem}.home-page .home-lead-title{font-size:clamp(1.6rem,3.4vw,2.2rem);font-weight:900;text-transform:uppercase;letter-spacing:.5px;line-height:1.1;margin:0 0 .75rem;text-align:left}.home-lead-title a,.article-card-title a,.home-more-title{color:var(--ink);text-decoration:none;background-image:linear-gradient(currentColor,currentColor);background-size:0 1px;background-position:0 100%;background-repeat:no-repeat;transition:background-size .35s cubic-bezier(.16,1,.3,1)}.home-lead-title a:hover,.article-card-title a:hover,.home-more-title:hover{background-size:100% 1px}.home-page .home-lead-summary{font-size:1.1rem;line-height:1.65;text-align:left;max-width:62ch;margin:0 0 1rem}.home-lead-cta{font-size:1rem}.home-more{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;column-gap:2rem}.home-more-item{display:flex;flex-direction:column;align-items:flex-start;gap:.35rem;padding:.85rem 0;border-top:1px solid var(--border)}.home-more-title{font-size:1.05rem;font-weight:700;line-height:1.3}.home-more-date{font-family:var(--font-mono);font-size:.75rem;color:var(--ink);opacity:.7}.home-page .home-all{margin:1rem 0 0;font-size:1rem;text-align:left}.home-page .home-infra-note{font-size:1rem;text-align:left;margin:0 0 1rem}.topic-index{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem 2rem}.topic-group-label{font-size:.9rem;font-style:italic;font-weight:400;margin:0 0 .5rem;color:var(--ink)}.topic-list{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.5rem 1.25rem}.topic-link{color:var(--ink);text-decoration:none;border-bottom:1px solid transparent;transition:border-color .25s cubic-bezier(.16,1,.3,1)}.topic-link:hover,.topic-link.active{border-bottom-color:var(--ink)}.topic-link.active{font-weight:700}.topic-count{font-family:var(--font-mono);font-size:.72rem;opacity:.7}.topic-filter{margin:0 0 1.75rem}.topic-filter summary{cursor:pointer;font-style:italic;margin-bottom:1rem;width:fit-content}.articles-list{border:none}.article-card:hover{background-color:transparent;margin:0;padding:1.25rem 0}.articles-page .article-card-title{font-size:1.5rem;font-weight:900;text-transform:uppercase;letter-spacing:.5px;line-height:1.1;margin:0 0 .5rem;padding:0;border:none;text-align:left}.articles-page .article-card-excerpt{font-size:.95rem;line-height:1.6;text-align:left;max-width:66ch;margin:.5rem 0;padding:0 0 0 .9rem}.article-card-tags{list-style:none;margin:.6rem 0 0;padding:0}a.art-tag{display:inline-block;text-decoration:none;opacity:.85;transition:background-color .2s ease,color .2s ease}a.art-tag:hover{background-color:var(--ink);color:var(--page);opacity:1}.articles-more{margin:2rem 0 0;text-align:center}.breadcrumb ol{list-style:none;margin:0 0 1.5rem;padding:0;display:flex;flex-wrap:wrap;gap:.4rem;font-size:.8rem;text-transform:uppercase;letter-spacing:1.5px}.breadcrumb li+li:before{content:"/";margin-right:.4rem;opacity:.5}.breadcrumb a{color:var(--ink);text-decoration:none;border-bottom:1px solid var(--border)}.breadcrumb a:hover{border-bottom-color:var(--ink)}.art-header{border-top:var(--rule-thick) solid var(--ink);padding-top:.75rem;margin-bottom:1.5rem}.art-meta a{color:inherit}.art-body{font-size:1.0625rem;line-height:1.75;max-width:68ch}.art-footer{margin-top:2rem;padding-top:1rem;border-top:1px solid var(--border)}.art-filed{margin:0;font-size:.95rem}.art-updated{margin:.5rem 0 0;font-size:.8rem;font-style:italic;opacity:.7}.related-articles{margin-top:3rem}.skeleton-line{display:block;height:.9rem;margin:.55rem 0;background:var(--muted);width:100%}.skeleton-line--title{height:1.7rem;width:85%}.skeleton-line--title.short{width:55%}.skeleton-line--meta{height:.7rem;width:35%}@media(prefers-reduced-motion:no-preference){.skeleton .skeleton-line{animation:skeleton-pulse 1.4s ease-in-out infinite}}@keyframes skeleton-pulse{50%{opacity:.55}}.ssr-shell{max-width:70ch;margin:2rem auto;padding:0 16px;font-family:var(--font-serif);color:var(--ink);background:var(--page)}.ssr-shell nav a{margin-right:.75rem;color:var(--ink)}@media(max-width:768px){.home-more,.topic-index{grid-template-columns:1fr}.articles-page .article-card-title{font-size:1.25rem}.art-body{font-size:1rem}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.infrastructure-diagram .front-wires-embed{display:none}}.hamburger-menu{background:var(--page);border:1px solid var(--border)}.about-name{font-size:1.9rem;font-weight:400;line-height:1.15;margin:0 0 .25rem;text-align:right;color:var(--ink)}:root{--font-display: "Playfair Display", "Times New Roman", Georgia, serif;--backdrop-opacity: .14;--paper-shadow: 0 1px 0 var(--border), 0 24px 60px rgba(26, 26, 26, .14);--gutter: clamp(10px, 1.6vw, 28px);--wipe-ms: .52s}[data-theme=dark],[data-dark="1"]{--backdrop-opacity: .16;--paper-shadow: 0 1px 0 var(--border), 0 24px 60px rgba(0, 0, 0, .55)}body{background-color:var(--bg);min-height:100dvh}.newspaper-backdrop{position:fixed;inset:0;z-index:0;pointer-events:none;opacity:var(--backdrop-opacity)}.layout{position:relative;display:grid;grid-template-columns:max-content minmax(0,1fr) max-content;align-items:start;gap:var(--gutter);min-height:100dvh;padding:var(--gutter)}.nav-sidebar,.page-container,.name-branding{z-index:1}.nav-sidebar{position:sticky;top:var(--gutter);width:auto;height:auto;padding:0;gap:.6rem;align-items:stretch}.navigation{gap:.6rem;align-items:stretch}.navigation a{font-family:var(--font-display);font-weight:700;font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;text-align:right;padding:.7rem .85rem;color:var(--ink);background-color:var(--page);border:1px solid var(--ink);box-shadow:none;transition:background-color .25s cubic-bezier(.16,1,.3,1),color .25s cubic-bezier(.16,1,.3,1),transform .25s cubic-bezier(.16,1,.3,1)}.navigation a:hover{border:1px solid var(--ink);background-color:var(--ink);color:var(--page);box-shadow:none;transform:translate(-4px)}.navigation a.active{border:1px solid var(--ink);background-color:var(--ink);color:var(--page);box-shadow:none}.dark-mode-toggle{width:100%;height:52px;align-self:stretch;background-color:var(--page);border:1px solid var(--ink);box-shadow:none}.dark-mode-toggle:hover{background-color:var(--ink);color:var(--page);box-shadow:none;transform:translate(-4px)}.page-container{position:relative;width:100%;max-width:1100px;min-height:calc(100dvh - var(--gutter) * 2 - clamp(.5rem,4vh,3rem));margin-top:clamp(.5rem,4vh,3rem);justify-self:center;background-color:var(--page);border:1px solid var(--ink);border-top:6px double var(--ink);box-shadow:var(--paper-shadow);transition:none}.main-content{position:relative;min-height:0;padding:clamp(1.25rem,4vw,4rem)}.route-root{position:relative}.name-branding{position:sticky;top:var(--gutter);width:auto;height:calc(100dvh - var(--gutter) * 2);padding:.75rem .35rem;background-color:var(--page);border:1px solid var(--ink);border-top:6px double var(--ink);justify-content:center;align-items:center}.site-title-vertical{font-family:var(--font-display);font-weight:900;font-size:clamp(2.25rem,calc((100dvh - 6rem) / 8.8),7.5rem);line-height:.95;letter-spacing:-.01em;color:var(--ink);writing-mode:vertical-rl;white-space:nowrap}.main-content h1,.main-content h2,.main-content h3,.main-content h4{font-family:var(--font-display);text-wrap:balance}.page-header{border-top:4px solid var(--ink);border-bottom:1px solid var(--ink);padding:.9rem 0 1.4rem;margin-bottom:2.25rem}.page-header:after{bottom:3px;background:var(--ink)}.page-title,.home-page .home-masthead .page-title{font-family:var(--font-display);font-weight:900;font-size:clamp(2.4rem,5.8vw,5.4rem);line-height:.98;letter-spacing:-.02em;margin:0 0 .85rem}.home-page .home-masthead .page-title{font-size:clamp(2.8rem,7.6vw,7.25rem);line-height:.92}.page-subtitle,.home-page .home-masthead .page-subtitle,.articles-page .page-subtitle{font-family:var(--font-serif);font-style:italic;font-size:clamp(1.05rem,1.5vw,1.35rem);line-height:1.45;max-width:62ch;text-align:left;opacity:.88;margin:0}.home-page .section-heading,.single-article-page .section-heading{font-family:var(--font-display);font-weight:900;font-size:clamp(1.4rem,2.2vw,2rem);letter-spacing:-.01em;border-top:3px solid var(--ink);padding-top:.5rem;margin-bottom:1.25rem}.home-section{margin:0 0 clamp(2.5rem,5vw,4.5rem)}.home-page .home-lead-title{font-family:var(--font-display);font-weight:900;font-size:clamp(2rem,4.4vw,4rem);line-height:1;letter-spacing:-.02em;text-transform:none;margin:0 0 1rem}.home-page .home-lead-summary{font-style:italic;font-size:clamp(1.1rem,1.6vw,1.4rem);line-height:1.5;max-width:60ch}.home-more{display:block;columns:3 240px;column-gap:2.5rem;column-rule:1px solid var(--border)}.home-more-item{break-inside:avoid;border-top:1px solid var(--ink);padding:.9rem 0 1.1rem}.home-more-title{font-family:var(--font-display);font-size:1.2rem;font-weight:700;line-height:1.2}.articles-list{columns:2 360px;column-gap:3rem;column-rule:1px solid var(--border)}.article-card{break-inside:avoid;border-bottom:1px solid var(--border)}.article-card:first-child{column-span:all;border-top:none;padding-bottom:1.75rem;margin-bottom:.5rem;border-bottom:3px solid var(--ink)}.articles-page .article-card-title{font-family:var(--font-display);font-weight:800;font-size:clamp(1.3rem,2vw,1.75rem);line-height:1.1;letter-spacing:-.01em;text-transform:none}.articles-page .article-card:first-child .article-card-title{font-weight:900;font-size:clamp(2rem,4.4vw,4rem);line-height:1;letter-spacing:-.02em}.articles-page .article-card-excerpt{border-left:none;padding-left:0;font-size:1rem}.articles-page .article-card:first-child .article-card-excerpt{font-style:italic;font-size:clamp(1.1rem,1.6vw,1.35rem);max-width:60ch}.article-display{background:transparent}.art-header{border-top:4px solid var(--ink)}.art-title{font-family:var(--font-display);font-weight:900;font-size:clamp(2.4rem,5.6vw,5.2rem);line-height:.98;letter-spacing:-.02em;text-transform:none;margin:.25rem 0 1rem}.art-excerpt{font-size:clamp(1.15rem,1.7vw,1.45rem);border-left:none;padding-left:0}.art-body{max-width:none;font-size:1.075rem;line-height:1.7;columns:2 320px;column-gap:3rem;column-rule:1px solid var(--border)}.art-body p{margin:0 0 1rem}.art-body p:first-child:first-letter{font-family:var(--font-display);font-weight:900;font-size:4.6em;line-height:.82;padding:.05em .1em 0 0}.wipe-word{display:inline-block}.wipe-layer.wipe-in .wipe-word{animation:wipe-word-in var(--wipe-ms) cubic-bezier(.16,1,.3,1) both}.wipe-layer.wipe-out .wipe-word{animation:wipe-word-out var(--wipe-ms) cubic-bezier(.7,0,.84,0) both}.wipe-layer.wipe-in{animation:wipe-layer-in var(--wipe-ms) ease-out both}.wipe-layer.wipe-out{animation:wipe-layer-out var(--wipe-ms) ease-in both}@keyframes wipe-word-in{0%{clip-path:var(--wipe-edge)}to{clip-path:inset(0 0 0 0)}}@keyframes wipe-word-out{0%{clip-path:inset(0 0 0 0)}to{clip-path:var(--wipe-edge)}}@keyframes wipe-layer-in{0%{opacity:.4}40%{opacity:1}}@keyframes wipe-layer-out{60%{opacity:1}to{opacity:0}}@media(max-width:1100px){.site-title-vertical{font-size:clamp(2rem,calc((100dvh - 6rem) / 9.5),5rem)}.navigation a{font-size:.7rem;padding:.6rem .65rem}}@media(max-width:768px){.layout{grid-template-columns:minmax(0,1fr);padding:0 0 var(--gutter);gap:var(--gutter)}.name-branding{order:0;position:sticky;top:0;z-index:3;height:auto;width:100%;padding:.7rem 1rem .7rem 4rem;border:none;border-bottom:3px double var(--ink);justify-content:center}.site-title-vertical{writing-mode:horizontal-tb;font-size:clamp(1.5rem,7vw,2.4rem)}.hamburger-menu{display:flex;align-items:center;justify-content:center;position:fixed;top:.55rem;left:.75rem;z-index:1000;width:2.5rem;height:2.5rem;padding:0;color:var(--ink);background:var(--page);border:1px solid var(--ink)}.nav-sidebar{order:1;display:none;position:fixed;top:3.9rem;left:0;right:0;z-index:999;flex-direction:row;flex-wrap:wrap;gap:.5rem;padding:1rem;background-color:var(--page);border-bottom:1px solid var(--ink)}.nav-sidebar.active{display:flex}.navigation{flex-direction:row;flex-wrap:wrap;gap:.5rem}.navigation a{text-align:center;margin:0}.dark-mode-toggle{width:2.75rem;height:2.75rem}.page-container{order:2;width:auto;margin:0 var(--gutter);min-height:auto;border:1px solid var(--ink);border-top:6px double var(--ink);box-shadow:var(--paper-shadow)}.main-content{padding:1.25rem}.art-body,.articles-list,.home-more{columns:1}}.art-body.article-content{background:transparent;padding:0;text-align:justify;-webkit-hyphens:auto;hyphens:auto}:where(.tool-info,.examples,.pattern-section,.regex-cheatsheet,.base64-guide,.base64-to-image,.export-section,.image-converter-area,.image-section,.mode-selector,.palette-display,.palette-type-info) h2{font-size:1.17em}.send-button,.test-button,.replace-button,.sample-button:hover,.example-button:hover,.download-button:hover,.mini-button:hover,.export-button:hover,.flag-checkbox:hover{background-color:var(--ink);color:var(--page);border-color:var(--ink)}.time-bar{background-color:var(--ink)}.info-card-label,.chat-label,.msg-time,.empty-response{opacity:.75}.mode-button.active,.convert-button{background-color:var(--ink);color:var(--page);border-color:var(--ink)}.tool-page-title{font-family:var(--font-display);font-weight:900;font-size:clamp(2.2rem,5vw,4.6rem);line-height:.98;letter-spacing:-.02em;text-transform:none}:root{--backdrop-opacity: .2;--column: 920px}[data-theme=dark],[data-dark="1"]{--backdrop-opacity: .22}body{background-color:var(--page)}.newspaper-backdrop--fixed{position:fixed;inset:0;width:100vw;height:100vh}.newspaper-backdrop--band{position:relative;display:block;width:100%;height:40svh}.layout{grid-template-columns:minmax(150px,1fr) minmax(0,var(--column)) minmax(150px,1fr);gap:0;padding:0}.page-container{grid-column:2;max-width:none;min-height:100dvh;margin:0;padding:clamp(1.25rem,3vw,2.5rem) clamp(.5rem,1.5vw,1.5rem) 5rem;background:none;border:none;box-shadow:none}.main-content{padding:0}.site-ribbon{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem 1.5rem;margin-bottom:clamp(1.5rem,4vw,3rem)}.site-ribbon .navigation{display:flex;flex-direction:row;flex-wrap:wrap;align-items:baseline;gap:.4rem 1.4rem;width:auto}.site-ribbon .navigation a,.site-ribbon .navigation a:hover,.site-ribbon .navigation a.active{display:inline;padding:0 0 2px;margin:0;border:none;box-shadow:none;transform:none;background-color:transparent;color:var(--ink);font-family:var(--font-display);font-weight:700;font-size:.82rem;letter-spacing:.12em;text-transform:uppercase;text-align:left;white-space:nowrap;text-decoration:none;background-image:linear-gradient(currentColor,currentColor);background-repeat:no-repeat;background-position:0 100%;background-size:0 1px;transition:background-size .35s cubic-bezier(.16,1,.3,1)}.site-ribbon .navigation a:hover{background-size:100% 1px}.site-ribbon .navigation a.active{background-size:100% 2px}.site-ribbon .dark-mode-toggle,.site-ribbon .dark-mode-toggle:hover{width:auto;height:auto;margin-left:auto;padding:.25rem;border:none;background:none;box-shadow:none;transform:none;color:var(--ink)}.site-ribbon .dark-mode-toggle:hover{opacity:.65}.name-branding{grid-column:3;justify-self:end;position:sticky;top:0;height:100dvh;padding:1.25rem clamp(.5rem,1.2vw,1.25rem);background:none;border:none}.site-title-vertical{font-size:clamp(2.25rem,calc((100dvh - 2.5rem) / 8.8),7.5rem)}.hamburger-menu{display:none}@media(max-width:859px){.layout{grid-template-columns:minmax(0,1fr)}.name-branding{grid-column:1;order:0;position:static;justify-self:stretch;height:auto;width:auto;padding:1.25rem 16px 0;border:none}.site-title-vertical{writing-mode:horizontal-tb;font-size:clamp(2.2rem,11.5vw,3.6rem);line-height:1}.newspaper-backdrop--band{order:1;grid-column:1}.page-container{grid-column:1;order:2;width:auto;min-height:auto;margin:0;padding:1.25rem 16px 4rem;border:none;box-shadow:none}.site-ribbon .navigation{gap:.5rem 1.1rem}}@media(max-width:859px){.site-title-vertical{font-size:clamp(1.9rem,9.2vw,3.4rem);white-space:nowrap}}@media(max-width:1280px){.site-ribbon .navigation{gap:.4rem 1rem}.site-ribbon .navigation a,.site-ribbon .navigation a:hover,.site-ribbon .navigation a.active{font-size:.74rem;letter-spacing:.08em}}:root{--backdrop-opacity: .16}[data-theme=dark],[data-dark="1"]{--backdrop-opacity: .18}.layout{position:relative}.backdrop-layer{position:absolute;inset:0;z-index:0;overflow:hidden;pointer-events:none;opacity:var(--backdrop-opacity)}.backdrop-tile{position:absolute;left:0;display:block;width:100%}.page-container,.name-branding{position:relative;z-index:1}.name-branding{top:auto;align-self:start}.page-header,.art-header,.art-footer,.art-meta,.article-card,.article-card:first-child,.home-more-item,.home-page .section-heading,.single-article-page .section-heading,.art-tag,a.art-tag{border:none}.page-header:after{display:none}.home-more,.articles-list,.art-body{column-rule:none}.backdrop-tile{opacity:0;transition:opacity .35s ease-out}.backdrop-tile.is-drawn{opacity:1}.service-list{list-style:none;margin:0 0 3rem;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1.5rem 2.5rem}.service-item{display:flex;flex-direction:column;align-items:flex-start;gap:.2rem}.service-name{font-family:var(--font-display);font-weight:900;font-size:1.5rem;line-height:1.1;color:var(--ink);text-decoration:none;background-image:linear-gradient(currentColor,currentColor);background-size:0 2px;background-position:0 100%;background-repeat:no-repeat;transition:background-size .35s cubic-bezier(.16,1,.3,1)}.service-name:hover{background-size:100% 2px}.service-host{font-family:var(--font-mono);font-size:.75rem;color:var(--ink);opacity:.75}.service-desc{margin:.3rem 0 0;font-size:.95rem;line-height:1.5;max-width:40ch}.infra-flow{margin:0 0 3.5rem}.infra-path{list-style:none;margin:0;padding:0}.infra-step{display:flex;flex-direction:column;align-items:flex-start}.infra-node{display:flex;flex-wrap:wrap;align-items:baseline;gap:.15rem .75rem}.infra-name{font-family:var(--font-display);font-weight:900;font-size:clamp(1.4rem,2.6vw,2.1rem);line-height:1.05;letter-spacing:-.01em;color:var(--ink);text-decoration:none}.infra-link{background-image:linear-gradient(currentColor,currentColor);background-size:0 2px;background-position:0 100%;background-repeat:no-repeat;transition:background-size .35s cubic-bezier(.16,1,.3,1)}.infra-link:hover{background-size:100% 2px}.infra-detail{font-family:var(--font-mono);font-size:.78rem;color:var(--ink);opacity:.8}.infra-access{font-family:var(--font-mono);font-size:.66rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink);border:1px solid var(--ink);padding:0 .35rem}.infra-access--sign-in{border-style:dashed}.infra-connector{position:relative;display:block;width:14px;height:2.2rem;margin:.4rem 0 .4rem .55rem}.infra-connector:before{content:"";position:absolute;top:0;bottom:0;left:6px;width:2px;background:var(--ink)}.infra-pulse{position:absolute;top:0;left:4px;width:6px;height:6px;background:var(--ink);opacity:0}@media(prefers-reduced-motion:no-preference){.infra-pulse{animation:infra-pulse 2.4s cubic-bezier(.16,1,.3,1) infinite;animation-delay:calc(var(--step, 0) * .3s)}}@keyframes infra-pulse{0%{transform:translateY(0);opacity:0}15%,70%{opacity:1}to{transform:translateY(calc(2.2rem - 6px));opacity:0}}.infra-groups{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.5rem 3rem;padding-top:1.25rem;border-top:2px solid var(--ink)}.main-content .infra-group-name{font-family:var(--font-mono);font-size:.8rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;margin:0 0 .9rem;color:var(--ink)}.infra-group-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.9rem}.infra-group-list .infra-name{font-size:clamp(1.15rem,2vw,1.5rem)}._container_2vw4v_1{max-width:1200px;margin:0 auto;padding:40px 20px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}._header_2vw4v_10{text-align:center;margin-bottom:50px}._header_2vw4v_10 h1{font-size:2.5rem;color:#1a1a1a;margin-bottom:10px;font-weight:700}._header_2vw4v_10 p{font-size:1.1rem;color:#666;max-width:600px;margin:0 auto}._mainContent_2vw4v_30{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin-bottom:50px}@media(max-width:768px){._mainContent_2vw4v_30{grid-template-columns:1fr;gap:30px}}._uploadSection_2vw4v_45{display:flex;flex-direction:column;gap:20px}._uploadBox_2vw4v_51{border:2px dashed #ddd;border-radius:12px;padding:40px;text-align:center;background:#f9f9f9;transition:all .3s ease;min-height:300px;display:flex;flex-direction:column;justify-content:center;align-items:center}._uploadBox_2vw4v_51:hover{border-color:#999;background:#f5f5f5}._uploadBox_2vw4v_51:active{border-color:#333;background:#f0f0f0}._fileInput_2vw4v_75{display:none}._uploadPrompt_2vw4v_79{display:flex;flex-direction:column;align-items:center;gap:15px}._uploadIcon_2vw4v_86{width:64px;height:64px;color:#999;margin-bottom:10px}._uploadPrompt_2vw4v_79 p:first-of-type{font-size:1.1rem;color:#333;margin:0;font-weight:500}._fileInfo_2vw4v_100{font-size:.9rem;color:#595959;margin:0}._previewContainer_2vw4v_107{display:flex;flex-direction:column;align-items:center;gap:15px;width:100%}._previewImage_2vw4v_115{max-width:100%;max-height:250px;border-radius:8px;object-fit:contain}._fileName_2vw4v_122{font-size:.9rem;color:#666;word-break:break-all}._errorMessage_2vw4v_129{background:#ffe0e0;color:#c00;padding:12px 16px;border-radius:6px;font-size:.95rem;border-left:4px solid #cc0000}._controlsSection_2vw4v_139{display:flex;flex-direction:column;gap:20px;justify-content:flex-start}._controlGroup_2vw4v_146{display:flex;flex-direction:column;gap:8px}._controlGroup_2vw4v_146 label{font-weight:600;color:#1a1a1a;font-size:.95rem}._select_2vw4v_158{padding:10px 12px;border:1px solid #ddd;border-radius:6px;font-size:.95rem;background:#fff;cursor:pointer;transition:all .2s}._select_2vw4v_158:hover{border-color:#999}._select_2vw4v_158:focus{outline:none;border-color:#333;box-shadow:0 0 0 2px #0000001a}._select_2vw4v_158:disabled{background:#f5f5f5;color:#999;cursor:not-allowed}._processButton_2vw4v_185,._resetButton_2vw4v_186,._downloadButton_2vw4v_187,._newButton_2vw4v_188{padding:12px 24px;border:none;border-radius:6px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;gap:8px}._processButton_2vw4v_185{background:#1a1a1a;color:#fff}._processButton_2vw4v_185:hover:not(:disabled){background:#333}._processButton_2vw4v_185:active:not(:disabled){background:#000}._processButton_2vw4v_185:disabled{background:#ccc;cursor:not-allowed}._resetButton_2vw4v_186{background:#f5f5f5;color:#333;border:1px solid #ddd}._resetButton_2vw4v_186:hover{background:#eee;border-color:#999}._downloadButton_2vw4v_187{background:#2ecc71;color:#fff}._downloadButton_2vw4v_187:hover{background:#27ae60}._newButton_2vw4v_188{background:#3498db;color:#fff}._newButton_2vw4v_188:hover{background:#2980b9}._spinner_2vw4v_250{display:inline-block;width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top:2px solid white;border-radius:50%;animation:_spin_2vw4v_250 1s linear infinite}@keyframes _spin_2vw4v_250{0%{transform:rotate(0)}to{transform:rotate(360deg)}}._resultsSection_2vw4v_270{background:#fff;border:1px solid #ddd;border-radius:12px;padding:40px;margin-top:50px}._resultsSection_2vw4v_270 h2{font-size:1.8rem;color:#1a1a1a;margin-bottom:30px}._imageComparison_2vw4v_285{display:grid;grid-template-columns:1fr 1fr;gap:30px;margin-bottom:40px}@media(max-width:768px){._imageComparison_2vw4v_285{grid-template-columns:1fr;gap:20px}}._comparisonItem_2vw4v_299{display:flex;flex-direction:column;gap:15px}._comparisonItem_2vw4v_299 h3{font-size:1.2rem;color:#333;margin:0}._comparisonItem_2vw4v_299 img{width:100%;border-radius:8px;border:1px solid #ddd;object-fit:contain;max-height:400px}._analysisSection_2vw4v_320{background:#f9f9f9;border-radius:8px;padding:20px;margin-bottom:30px}._analysisSection_2vw4v_320 h3{font-size:1.1rem;color:#1a1a1a;margin:0 0 20px}._analysisGrid_2vw4v_333{display:grid;grid-template-columns:repeat(2,1fr);gap:15px}@media(max-width:768px){._analysisGrid_2vw4v_333{grid-template-columns:1fr}}._analysisItem_2vw4v_345{display:flex;justify-content:space-between;align-items:center;padding:10px;background:#fff;border-radius:6px}._label_2vw4v_354{font-weight:600;color:#666;font-size:.9rem}._value_2vw4v_360{color:#1a1a1a;font-weight:500}._actionButtons_2vw4v_366{display:flex;gap:15px;justify-content:center;margin-top:30px}@media(max-width:768px){._actionButtons_2vw4v_366{flex-direction:column}}._downloadButton_2vw4v_187,._newButton_2vw4v_188{flex:1}@media(prefers-color-scheme:dark){._container_2vw4v_1{background:#1a1a1a;color:#fff}._header_2vw4v_10 h1{color:#fff}._header_2vw4v_10 p{color:#aaa}._uploadBox_2vw4v_51{background:#2a2a2a;border-color:#444}._uploadBox_2vw4v_51:hover{border-color:#666;background:#333}._uploadIcon_2vw4v_86{color:#666}._uploadPrompt_2vw4v_79 p:first-of-type{color:#eee}._fileInfo_2vw4v_100{color:#b0b0b0}._controlGroup_2vw4v_146 label{color:#eee}._select_2vw4v_158{background:#2a2a2a;color:#fff;border-color:#444}._select_2vw4v_158:hover{border-color:#666}._select_2vw4v_158:focus{border-color:#888}._resultsSection_2vw4v_270{background:#2a2a2a;border-color:#444}._resultsSection_2vw4v_270 h2{color:#fff}._analysisSection_2vw4v_320{background:#1a1a1a;border:1px solid #444}._analysisItem_2vw4v_345{background:#2a2a2a}._label_2vw4v_354{color:#aaa}._value_2vw4v_360,._comparisonItem_2vw4v_299 h3{color:#eee}._comparisonItem_2vw4v_299 img{border-color:#444}}
