@import url("https://fonts.googleapis.com/css2?family=Lato:wght@300;400;700&display=swap");:root{--background-color:#111827;--text-color:#e0e0e0;--text-color-secondary:#9ca3af;--navbar-background-color:#0c101a;--navbar-text-color:#e0e0e0;--link-color:#7dd3fc;--link-hover-color:#38bdf8;--primary-color:#7dd3fc;--primary-color-rgb:125,211,252;--button-background-color:#38bdf8;--button-text-color:#fff;--button-hover-background-color:#0ea5e9;--card-background-color:#1f2937;--border-color:#374151;--border-color-light:#4b5563;--success-color:#10b981;--warning-color:#f59e0b;--error-color:#ef4444;--info-color:#3b82f6;--navbar-height:70px;--navbar-height-mobile:60px;--border-radius:8px;--border-radius-small:4px;--border-radius-large:12px;--spacing-xs:4px;--spacing-sm:8px;--spacing-md:16px;--spacing-lg:24px;--spacing-xl:32px;--spacing-2xl:48px;--mobile-spacing-xs:2px;--mobile-spacing-sm:4px;--mobile-spacing-md:8px;--mobile-spacing-lg:12px;--mobile-spacing-xl:16px;--font-size-xs:0.75rem;--font-size-sm:0.875rem;--font-size-base:1rem;--font-size-lg:1.125rem;--font-size-xl:1.25rem;--font-size-2xl:1.5rem;--font-size-3xl:1.875rem;--font-size-4xl:2.25rem;--font-size-5xl:3rem;--font-weight-light:300;--font-weight-normal:400;--font-weight-bold:700;--line-height-tight:1.25;--line-height-normal:1.5;--line-height-relaxed:1.75;--touch-target-size:44px;--touch-target-size-small:36px;--shadow-sm:0 1px 2px 0 rgba(0,0,0,.05);--shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px 0 rgba(0,0,0,.06);--shadow-md:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -1px rgba(0,0,0,.06);--shadow-lg:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -2px rgba(0,0,0,.05);--shadow-xl:0 20px 25px -5px rgba(0,0,0,.1),0 10px 10px -5px rgba(0,0,0,.04);--transition-fast:0.15s ease;--transition-normal:0.3s ease;--transition-slow:0.5s ease}.light-mode{--background-color:#f9fafb;--text-color:#1f2937;--text-color-secondary:#6b7280;--navbar-background-color:#e5e7eb;--navbar-text-color:#1f2937;--link-color:#0ea5e9;--link-hover-color:#0284c7;--primary-color:#0ea5e9;--primary-color-rgb:14,165,233;--button-background-color:#0ea5e9;--button-text-color:#fff;--button-hover-background-color:#0284c7;--card-background-color:#fff;--border-color:#d1d5db;--border-color-light:#e5e7eb;--success-color:#059669;--warning-color:#d97706;--error-color:#dc2626;--info-color:#2563eb;--shadow-sm:0 1px 2px 0 rgba(0,0,0,.05);--shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px 0 rgba(0,0,0,.06);--shadow-md:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -1px rgba(0,0,0,.06);--shadow-lg:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -2px rgba(0,0,0,.05);--shadow-xl:0 20px 25px -5px rgba(0,0,0,.1),0 10px 10px -5px rgba(0,0,0,.04)}*{box-sizing:border-box;margin:0;padding:0;font-family:Lato,sans-serif}html{transition:background-color var(--transition-normal);text-size-adjust:100%}body,html{background-color:var(--background-color)}body{font-family:Lato,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--text-color);transition:background-color var(--transition-normal),color var(--transition-normal);user-select:none;line-height:var(--line-height-normal);-webkit-tap-highlight-color:rgba(125,211,252,.2);-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;scroll-behavior:smooth;text-rendering:optimizeLegibility;font-feature-settings:"kern" 1}@media (max-width:768px){body{-webkit-overflow-scrolling:touch;touch-action:manipulation}input,select,textarea{font-size:16px!important;transform-origin:left top;transform:scale(1)}[tabindex]:focus,a:focus,button:focus,input:focus,select:focus,textarea:focus{outline:2px solid var(--link-color);outline-offset:2px}.btn-primary,.btn-secondary,[role=button],button{min-height:var(--touch-target-size-small);min-width:var(--touch-target-size-small)}}h1,h2,h3,h4,h5,h6{color:var(--text-color);font-weight:var(--font-weight-bold);line-height:var(--line-height-tight);margin-bottom:var(--spacing-md)}h1{font-size:var(--font-size-4xl)}h2{font-size:var(--font-size-3xl)}h3{font-size:var(--font-size-2xl)}h4{font-size:var(--font-size-xl)}h5{font-size:var(--font-size-lg)}h6{font-size:var(--font-size-base)}p{margin-bottom:var(--spacing-md);line-height:var(--line-height-normal)}a{color:var(--link-color);text-decoration:none;transition:color var(--transition-normal)}a:hover{color:var(--link-hover-color)}.blog-link-hover:hover{color:var(--link-hover-color)!important;transition:color var(--transition-normal)}.btn-primary{background-color:var(--button-background-color);color:var(--button-text-color);border-radius:var(--border-radius);padding:var(--spacing-sm) var(--spacing-lg);font-weight:var(--font-weight-bold);transition:all var(--transition-normal);border:1px solid transparent;cursor:pointer}.btn-primary:hover{background-color:var(--button-hover-background-color);border-color:var(--button-hover-background-color);transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn-secondary{background-color:transparent;border:1px solid var(--border-color);color:var(--text-color);border-radius:var(--border-radius);padding:var(--spacing-sm) var(--spacing-lg);font-weight:var(--font-weight-bold);transition:all var(--transition-normal);cursor:pointer}.btn-secondary:hover{border-color:var(--link-color);color:var(--link-color);transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn-secondary:hover,.card{background-color:var(--card-background-color)}.card{border-radius:var(--border-radius);padding:var(--spacing-lg);box-shadow:var(--shadow);transition:all var(--transition-normal);border:1px solid var(--border-color)}.card:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.card.highlight{border-top:3px solid var(--link-color)}.page-container{padding:var(--spacing-lg);background-color:var(--background-color);color:var(--text-color);transition:background-color var(--transition-normal),color var(--transition-normal)}.container-centered,.page-container{min-height:calc(100vh - var(--navbar-height))}.container-centered{display:flex;align-items:center;justify-content:center}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.text-success{color:var(--success-color)}.text-warning{color:var(--warning-color)}.text-error{color:var(--error-color)}.text-info{color:var(--info-color)}.text-secondary{color:var(--text-color-secondary)}.home,.products,.reports{display:flex;height:90vh;align-items:center;justify-content:center;font-size:var(--font-size-5xl);color:var(--text-color)}#title{font-weight:var(--font-weight-bold);color:var(--link-color);font-size:var(--font-size-4xl);text-align:left;transition:color var(--transition-normal)}.inside{margin:var(--spacing-lg)}.status-success{color:var(--success-color)}@media (max-width:1024px){.page-container{padding:var(--spacing-md)}h1{font-size:var(--font-size-3xl)}h2{font-size:var(--font-size-2xl)}h3{font-size:var(--font-size-xl)}}@media (max-width:768px){:root{--navbar-height:var(--navbar-height-mobile)}.page-container{padding:var(--mobile-spacing-lg)}h1{font-size:var(--font-size-3xl)}h2{font-size:var(--font-size-2xl)}h3{font-size:var(--font-size-xl)}.home,.products,.reports{font-size:var(--font-size-3xl)}.btn-primary,.btn-secondary{min-height:var(--touch-target-size);padding:var(--mobile-spacing-lg) var(--spacing-lg);font-size:var(--font-size-base)}.card{padding:var(--mobile-spacing-lg);margin-bottom:var(--mobile-spacing-lg)}}@media (max-width:576px){.page-container{padding:var(--mobile-spacing-md)}h1{font-size:var(--font-size-2xl)}h2{font-size:var(--font-size-xl)}h3{font-size:var(--font-size-lg)}.home,.products,.reports{font-size:var(--font-size-2xl)}.btn-primary,.btn-secondary{min-height:var(--touch-target-size-small);padding:var(--mobile-spacing-md) var(--mobile-spacing-lg);font-size:var(--font-size-sm)}.card{padding:var(--mobile-spacing-md);margin-bottom:var(--mobile-spacing-md)}}@media (max-width:360px){.page-container{padding:var(--mobile-spacing-sm)}h1{font-size:var(--font-size-xl)}h2{font-size:var(--font-size-lg)}h3{font-size:var(--font-size-base)}.card{padding:var(--mobile-spacing-sm)}}@media (max-width:768px){.ant-modal{margin:var(--mobile-spacing-md)!important;max-width:calc(100vw - var(--mobile-spacing-lg))!important}.ant-modal-content{border-radius:var(--border-radius)!important}.ant-modal-header{padding:var(--mobile-spacing-md) var(--mobile-spacing-lg)!important}.ant-modal-body{padding:var(--mobile-spacing-lg)!important;max-height:70vh;overflow-y:auto}.ant-modal-footer{padding:var(--mobile-spacing-md) var(--mobile-spacing-lg)!important}.ant-btn{min-height:var(--touch-target-size-small)!important;padding:var(--mobile-spacing-sm) var(--mobile-spacing-md)!important;font-size:var(--font-size-sm)!important;border-radius:var(--border-radius)!important}.ant-btn-lg{min-height:var(--touch-target-size)!important;padding:var(--mobile-spacing-md) var(--mobile-spacing-lg)!important;font-size:var(--font-size-base)!important}.ant-input,.ant-input-number,.ant-select-selector{min-height:var(--touch-target-size-small)!important;padding:var(--mobile-spacing-sm)!important;font-size:var(--font-size-sm)!important;border-radius:var(--border-radius)!important}.ant-dropdown{border-radius:var(--border-radius)!important}.ant-dropdown-menu-item{min-height:var(--touch-target-size-small)!important;padding:var(--mobile-spacing-sm) var(--mobile-spacing-md)!important;font-size:var(--font-size-sm)!important}.ant-card{border-radius:var(--border-radius)!important}.ant-card-head{padding:var(--mobile-spacing-md) var(--mobile-spacing-lg)!important}.ant-card-body{padding:var(--mobile-spacing-lg)!important}.ant-menu-item{line-height:var(--touch-target-size-small)!important;padding:0 var(--mobile-spacing-md)!important}.ant-menu-item,.ant-tabs-tab{min-height:var(--touch-target-size-small)!important;font-size:var(--font-size-sm)!important}.ant-tabs-tab{padding:var(--mobile-spacing-sm) var(--mobile-spacing-md)!important}.ant-drawer-content-wrapper{border-radius:var(--border-radius) 0 0 var(--border-radius)!important}.ant-drawer-header{padding:var(--mobile-spacing-md) var(--mobile-spacing-lg)!important}.ant-drawer-body{padding:var(--mobile-spacing-lg)!important}}@media (max-width:576px){.ant-btn{padding:var(--mobile-spacing-xs) var(--mobile-spacing-sm)!important}.ant-btn,.ant-input,.ant-input-number,.ant-select-selector{min-height:32px!important;font-size:var(--font-size-xs)!important}.ant-input,.ant-input-number,.ant-select-selector{padding:var(--mobile-spacing-xs)!important}.ant-modal{margin:var(--mobile-spacing-sm)!important;max-width:calc(100vw - var(--mobile-spacing-md))!important}.ant-modal-footer,.ant-modal-header{padding:var(--mobile-spacing-sm) var(--mobile-spacing-md)!important}.ant-modal-body{padding:var(--mobile-spacing-md)!important}}.blog-card,.btn-primary,.btn-secondary,.card,.mobile-nav-button,.navbar,.photo-card,.sidebar-toggle{transform:translateZ(0);will-change:transform}@media (max-width:768px){@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.blog-card:hover,.card:hover,.photo-card:hover{transform:translateY(-2px) translateZ(0)}.blog-card,.card,.photo-card{box-shadow:var(--shadow-sm)}.blog-card:hover,.card:hover,.photo-card:hover{box-shadow:var(--shadow-md)}img{image-rendering:optimizeQuality;image-rendering:-webkit-optimize-contrast}.blog-text-content,body{text-rendering:optimizeSpeed}}@media (max-width:360px){.blog-card:hover,.btn-primary:hover,.btn-secondary:hover,.card:hover,.photo-card:hover{transform:none;box-shadow:var(--shadow-sm)}*{transition-duration:var(--transition-fast)!important}}body,html{width:100%;height:100%}input::-ms-clear,input::-ms-reveal{display:none}*,:after,:before{box-sizing:border-box}html{font-family:sans-serif;line-height:1.15;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;-ms-overflow-style:scrollbar;-webkit-tap-highlight-color:rgba(0,0,0,0)}body{margin:0}[tabindex="-1"]:focus{outline:none}hr{box-sizing:content-box;height:0;overflow:visible}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5em;font-weight:500}p{margin-top:0;margin-bottom:1em}abbr[data-original-title],abbr[title]{-webkit-text-decoration:underline dotted;text-decoration:underline;text-decoration:underline dotted;border-bottom:0;cursor:help}address{margin-bottom:1em;font-style:normal;line-height:inherit}input[type=number],input[type=password],input[type=text],textarea{-webkit-appearance:none}dl,ol,ul{margin-top:0;margin-bottom:1em}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:500}dd{margin-bottom:.5em;margin-left:0}blockquote{margin:0 0 1em}dfn{font-style:italic}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}code,kbd,pre,samp{font-size:1em;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,Courier,monospace}pre{margin-top:0;margin-bottom:1em;overflow:auto}figure{margin:0 0 1em}img{vertical-align:middle;border-style:none}[role=button],a,area,button,input:not([type=range]),label,select,summary,textarea{touch-action:manipulation}table{border-collapse:collapse}caption{padding-top:.75em;padding-bottom:.3em;text-align:left;caption-side:bottom}button,input,optgroup,select,textarea{margin:0;color:inherit;font-size:inherit;font-family:inherit;line-height:inherit}button,input{overflow:visible}button,select{text-transform:none}[type=reset],[type=submit],button,html [type=button]{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{padding:0;border-style:none}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=date],input[type=datetime-local],input[type=month],input[type=time]{-webkit-appearance:listbox}textarea{overflow:auto;resize:vertical}fieldset{min-width:0;margin:0;padding:0;border:0}legend{display:block;width:100%;max-width:100%;margin-bottom:.5em;padding:0;color:inherit;font-size:1.5em;line-height:inherit;white-space:normal}progress{vertical-align:baseline}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:none}[type=search]::-webkit-search-cancel-button,[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}summary{display:list-item}template{display:none}[hidden]{display:none!important}mark{padding:.2em;background-color:#feffe6}.navbar{position:-webkit-sticky;position:sticky;top:0;z-index:60;padding:0 1rem;background:linear-gradient(180deg,rgba(0,0,0,.24),rgba(0,0,0,.14)),var(--navbar-background-color);border-bottom:1px solid rgba(var(--primary-color-rgb),.2);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);transition:background-color var(--transition-normal),border-color var(--transition-normal)}.light-mode .navbar{background:linear-gradient(180deg,hsla(0,0%,100%,.72),hsla(0,0%,100%,.6)),var(--navbar-background-color);border-bottom-color:rgba(var(--primary-color-rgb),.18)}.navbar-shell{width:min(1320px,100%);margin:0 auto;display:grid;grid-template-columns:auto 1fr auto;align-items:center;grid-gap:1rem;gap:1rem}.navbar-brand{display:flex;align-items:center}.nav-logo-link{display:inline-flex;align-items:center;justify-content:center;line-height:0}.navbar-center{justify-self:center;display:flex;align-items:center;gap:.34rem;padding:.32rem;border:1px solid rgba(var(--primary-color-rgb),.32);border-radius:999px;background:rgba(2,6,23,.28);box-shadow:inset 0 1px 0 hsla(0,0%,100%,.08)}.light-mode .navbar-center{background:rgba(248,250,252,.8)}.navbar-link{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:.48rem .85rem;font-size:.86rem;letter-spacing:.02em;font-weight:700;color:var(--text-color-secondary);transition:color var(--transition-fast),background-color var(--transition-fast),box-shadow var(--transition-fast)}.navbar-link:hover{color:var(--text-color);background:rgba(var(--primary-color-rgb),.14)}.navbar-link.is-active{color:var(--text-color);background:rgba(var(--primary-color-rgb),.18);box-shadow:0 6px 16px rgba(2,6,23,.24)}.light-mode .navbar-link.is-active{box-shadow:0 6px 14px rgba(15,23,42,.12)}.navbar-actions{justify-self:end;display:flex;align-items:center}.navbar-actions .ant-space{gap:.38rem!important}.navbar-theme-switch.ant-switch{background:color-mix(in srgb,var(--text-color) 26%,transparent)!important}.navbar-theme-switch.ant-switch-checked{background:var(--link-color)!important}.navbar-theme-switch .anticon{color:var(--navbar-background-color)!important}.github-nav-button.ant-btn,.google-scholar-nav-button.ant-btn,.linkedin-nav-button.ant-btn,.mobile-nav-button.ant-btn{height:36px!important;width:36px!important;min-width:36px!important;border-radius:10px!important;border:1px solid rgba(var(--primary-color-rgb),.24)!important;background:rgba(var(--primary-color-rgb),.08)!important;color:var(--link-color)!important;transition:transform var(--transition-fast),border-color var(--transition-fast),background-color var(--transition-fast),color var(--transition-fast)!important}.github-nav-button.ant-btn:hover,.google-scholar-nav-button.ant-btn:hover,.linkedin-nav-button.ant-btn:hover,.mobile-nav-button.ant-btn:hover{transform:translateY(-1px);color:var(--link-hover-color)!important;border-color:rgba(var(--primary-color-rgb),.48)!important;background:rgba(var(--primary-color-rgb),.14)!important}.github-nav-button .anticon,.linkedin-nav-button .anticon,.mobile-nav-button .anticon{font-size:17px}.google-scholar-icon{width:17px;height:17px;color:currentColor;vertical-align:middle}.navbar-mobile-tools{display:none;justify-self:end;align-items:center;gap:.48rem}.navbar-drawer .ant-drawer-content,.navbar-drawer .ant-drawer-header{background:var(--navbar-background-color)!important}.navbar-drawer .ant-drawer-header{border-bottom:1px solid var(--border-color)!important}.navbar-drawer .ant-drawer-close,.navbar-drawer .ant-drawer-title{color:var(--text-color)!important}.navbar-drawer .ant-drawer-body{padding:0!important}.navbar-drawer-content{padding:1rem;display:flex;flex-direction:column;gap:1rem}.navbar-drawer-links{display:flex;flex-direction:column;gap:.42rem}.navbar-drawer-link{border-radius:12px;border:1px solid transparent;padding:.68rem .8rem;color:var(--text-color);font-size:.95rem;font-weight:700;transition:border-color var(--transition-fast),background-color var(--transition-fast),color var(--transition-fast)}.navbar-drawer-link.is-active,.navbar-drawer-link:hover{color:var(--link-hover-color);border-color:rgba(var(--primary-color-rgb),.34);background:rgba(var(--primary-color-rgb),.12)}.navbar-drawer-divider{height:1px;background:var(--border-color);opacity:.7}.navbar-drawer-theme{display:flex;align-items:center;justify-content:space-between;border:1px solid rgba(var(--primary-color-rgb),.3);border-radius:12px;padding:.62rem .72rem}.navbar-drawer-theme span{color:var(--text-color-secondary);font-size:.85rem;font-weight:700;letter-spacing:.03em;text-transform:uppercase}.navbar-drawer-socials{display:flex;flex-direction:column;gap:.42rem}.navbar-drawer-social-link{display:flex;align-items:center;gap:.55rem;border-radius:10px;padding:.58rem .72rem;color:var(--text-color);transition:background-color var(--transition-fast),color var(--transition-fast)}.navbar-drawer-social-link:hover{color:var(--link-hover-color);background:rgba(var(--primary-color-rgb),.1)}.navbar-drawer-social-link .anticon{font-size:17px}@media (max-width:980px){.navbar{padding:0 .75rem}.navbar-shell{grid-template-columns:auto 1fr auto;gap:.75rem}.navbar-actions,.navbar-center{display:none}.navbar-mobile-tools{display:inline-flex}.nav-logo-link{transform:scale(.92);transform-origin:left center}}@media (max-width:576px){.navbar{padding:0 .55rem}.nav-logo-link{transform:scale(.82)}.navbar-theme-switch{transform:scale(.9)}.github-nav-button.ant-btn,.google-scholar-nav-button.ant-btn,.linkedin-nav-button.ant-btn,.mobile-nav-button.ant-btn{height:34px!important;width:34px!important;min-width:34px!important}}