:root{--color-primary: #ff014f;--color-subtitle: #f9004d;--gradient-red-hover: linear-gradient(145deg, #6a67ce, #fc636b);--page-bg: #212428;--card-bg: linear-gradient(145deg, #1e2024, #23272b);--card-shadow: 10px 10px 19px #1c1e22, -10px -10px 19px #262a2e;--hover-overlay: linear-gradient(to right bottom, #212428, #16181c);--inset-shadow: 1px 4px 2px -3px rgba(0, 0, 0, .7) inset, -1px -3px 3px -2px rgba(255, 255, 255, .2) inset;--field-bg: #191b1e;--hairline: rgba(255, 255, 255, .1);--separator: #121415;--heading: #fff;--lightn: #c4cfde;--body-color: #878e99;--dim: #7c838e;--font-primary: "Poppins", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;--font-secondary: "Montserrat", var(--font-primary);--mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace;--transition: .4s;--header-h: 100px}.white-version{--page-bg: #ecf0f3;--card-bg: linear-gradient(145deg, #e2e8ec, #fff);--card-shadow: 5px 5px 15px #d1d9e6, -5px -5px 15px #fff;--hover-overlay: var(--gradient-red-hover);--inset-shadow: none;--field-bg: #fff;--hairline: rgba(0, 0, 0, .08);--separator: #dce1e4;--heading: #1e2125;--lightn: #3c3e41;--body-color: #3c3e41;--dim: #696f79}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--page-bg);color:var(--body-color);font-family:var(--font-primary);font-size:18px;font-weight:400;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:clip;transition:background var(--transition) ease,color var(--transition) ease}h1,h2,h3,h4,h5,h6{margin:0;color:var(--heading);font-family:var(--font-secondary);font-weight:700;line-height:1.2}p{margin:0}a{color:inherit;text-decoration:none;transition:var(--transition)}img{display:block;max-width:100%}ul{margin:0;padding:0;list-style:none}button{font:inherit;cursor:pointer}::selection{background:var(--color-primary);color:#fff}:focus-visible{outline:2px solid var(--color-primary);outline-offset:3px;border-radius:4px}.container{width:100%;max-width:1230px;margin:0 auto;padding:0 15px}.container.narrow{max-width:820px}.row{display:flex;flex-wrap:wrap;margin:0 -15px}.rn-section-gap{padding:100px 0}.section-separator{position:relative}.section-separator:after{content:"";position:absolute;top:0;left:0;right:0;margin:0 auto;max-width:1270px;height:1px;background:var(--separator)}.section-title{text-align:center}.section-title .subtitle{display:block;margin-bottom:10px;color:var(--color-subtitle);font-family:var(--font-secondary);font-size:14px;font-weight:500;letter-spacing:5px;line-height:24px;text-transform:uppercase}.section-title .title{margin-top:15px;color:var(--lightn);font-size:60px;font-weight:700;line-height:1.2}.section-note{max-width:760px;margin:20px auto 0;color:var(--body-color);font-size:16px;line-height:1.7;text-align:center}.rn-btn{position:relative;z-index:2;display:inline-flex;align-items:center;gap:8px;padding:15px 35px;border:0;border-radius:6px;background:var(--card-bg);box-shadow:var(--card-shadow);color:var(--color-primary);font-family:var(--font-primary);font-size:14px;font-weight:500;letter-spacing:1px;transition:var(--transition)}.rn-btn:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;border-radius:6px;background:var(--hover-overlay);opacity:0;transition:var(--transition)}.rn-btn:hover{transform:translateY(-5px)}.rn-btn:hover:before{opacity:1}.white-version .rn-btn:hover{color:#fff}.rn-btn-underline{position:relative;color:var(--lightn);font-size:15px;font-weight:500;letter-spacing:1px;text-transform:uppercase}.rn-btn-underline:after{content:"";position:absolute;bottom:-3px;left:0;width:40%;height:3px;background:var(--color-primary);transition:var(--transition)}.rn-btn-underline:hover{color:var(--color-primary)}.rn-btn-underline:after,.rn-btn-underline:hover:after{transition:var(--transition)}.rn-btn-underline:hover:after{width:100%}.icon-btn{position:relative;z-index:2;display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px;padding:0;border:0;border-radius:8px;background:var(--card-bg);box-shadow:var(--card-shadow);color:var(--lightn);transition:var(--transition)}.icon-btn:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;border-radius:8px;background:var(--hover-overlay);opacity:0;transition:var(--transition)}.icon-btn:hover{color:var(--color-primary);transform:translateY(-3px)}.icon-btn:hover:before{opacity:1}.white-version .icon-btn:hover{color:#fff}.rn-header{position:fixed;top:0;left:0;width:100%;z-index:999;padding:20px 0;transition:.3s}.rn-header.sticky{backdrop-filter:blur(15px);-webkit-backdrop-filter:blur(15px);background-color:#212428de;box-shadow:var(--card-shadow)}.white-version .rn-header.sticky{background-color:#ecf0f3e0}.header-wrapper{display:flex;align-items:center;justify-content:space-between;gap:20px}.header-logo{display:inline-flex;align-items:center;gap:12px;flex-shrink:0}.logo-mark{display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px;border-radius:50%;background:var(--card-bg);box-shadow:var(--card-shadow);color:var(--color-primary);font-family:var(--font-secondary);font-size:17px;font-weight:700;letter-spacing:.5px}.logo-text{color:var(--heading);font-family:var(--font-secondary);font-size:18px;font-weight:600;letter-spacing:.5px;white-space:nowrap}.mainmenu-nav .primary-menu{display:flex;flex-wrap:wrap;align-items:center}.mainmenu-nav .primary-menu li{margin:10px 14px}.mainmenu-nav .primary-menu li a{position:relative;color:var(--lightn);font-family:var(--font-secondary);font-size:13px;font-weight:400;text-transform:uppercase;transition:var(--transition)}.mainmenu-nav .primary-menu:hover li a{opacity:.5}.mainmenu-nav .primary-menu li a.current,.mainmenu-nav .primary-menu li:hover a{color:var(--heading);opacity:1!important}.header-right{display:flex;align-items:center;gap:15px;flex-shrink:0}.header-right .rn-btn{padding:15px 22px}.hamburger{display:none}.popup-mobile-menu{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;background-color:#000c;opacity:0;visibility:hidden;transition:opacity .5s ease-out}.popup-mobile-menu.open{opacity:1;visibility:visible}.popup-mobile-menu .inner{position:absolute;top:0;left:-150px;display:flex;flex-direction:column;width:375px;max-width:85vw;height:100%;padding:25px 40px;background:var(--field-bg);box-shadow:0 0 10px #000000b3;opacity:0;overflow-y:auto;transition:all .5s ease-out}.white-version .popup-mobile-menu .inner{background:#ecf0f3}.popup-mobile-menu.open .inner{left:0;opacity:1}.popup-mobile-menu .menu-top{display:flex;align-items:center;justify-content:space-between;padding-bottom:20px;border-bottom:1px solid var(--hairline)}.popup-mobile-menu .discription{margin-top:16px;color:var(--body-color);font-size:14px;line-height:1.6}.popup-mobile-menu .primary-menu{margin-top:24px}.popup-mobile-menu .primary-menu li a{display:block;padding:10px 0;color:var(--lightn);font-family:var(--font-secondary);font-size:15px;text-transform:uppercase}.popup-mobile-menu .primary-menu li a.current,.popup-mobile-menu .primary-menu li a:hover{color:var(--color-primary)}.slider-wrapper{display:grid;grid-template-columns:7fr 5fr;gap:40px;align-items:center;padding:210px 0 60px}.slider-info{transition:var(--transition)}.slider-info:hover{transform:translateY(-5px)}.user-info-top{padding:35px;border-radius:10px 10px 0 0;background:var(--card-bg);box-shadow:var(--card-shadow)}.user-info-header{margin-bottom:30px}.user-badge{position:relative;z-index:1;display:flex;align-items:center;justify-content:center;width:40px;height:40px;margin-bottom:20px;color:#fff}.user-badge:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;width:40px;height:40px;border-radius:50%;background:var(--color-primary);opacity:.7}.user-badge:after{content:"";position:absolute;top:50%;left:50%;z-index:-2;width:60px;height:60px;border-radius:50%;background:var(--color-primary);opacity:.2;transform:translate(-50%,-50%)}.user-info-header .title{margin-bottom:11px;color:var(--heading);font-family:var(--font-secondary);font-size:52px;font-weight:700;line-height:62px}.user-info-header .title span{color:var(--color-primary)}.user-info-header .disc{color:var(--lightn);font-size:16px;line-height:24px}.user-info-footer .info{display:flex;align-items:center;margin-bottom:13px}.user-info-footer .info svg{flex-shrink:0;margin-right:10px;color:var(--color-primary)}.user-info-footer .info span,.user-info-footer .info a{color:var(--lightn);font-size:16px;word-break:break-word}.user-info-footer .info a:hover{color:var(--color-primary)}.user-info-bottom{margin-top:30px;padding:35px;border-radius:0 0 10px 10px;background:var(--card-bg);box-shadow:var(--card-shadow)}.user-info-bottom>span{color:var(--lightn);font-size:16px}.user-info-bottom .button-wrapper{display:flex;flex-wrap:wrap;gap:20px;margin-top:30px}.background-image-area{position:relative;align-self:center;justify-self:end;width:100%;max-width:460px;padding:20px;border-radius:10px;background:var(--card-bg);box-shadow:var(--card-shadow);transition:var(--transition)}.background-image-area:hover{transform:translateY(-5px)}.background-image-area .thumbnail-image{height:auto}.background-image-area .thumbnail-image img{width:100%;height:auto;aspect-ratio:1;border-radius:8px;object-fit:cover;object-position:center}.experience-style-two{display:flex;align-items:center;justify-content:space-between;gap:30px;width:90%;margin:40px auto 0;padding:30px;border-radius:10px;box-shadow:var(--card-shadow);background:var(--card-bg)}.experience-style-two .experience-left{display:flex;flex:1 1 auto;align-items:center;flex-wrap:wrap}.experience-style-two .experience-image{flex-shrink:0;width:250px;max-width:100%;overflow:hidden;border-radius:8px;transition:var(--transition)}.experience-style-two .experience-image img,.experience-style-two .experience-image svg{display:block;width:100%;border-radius:8px;transition:var(--transition)}.experience-style-two .experience-image:hover img,.experience-style-two .experience-image:hover svg{transform:scale(1.05)}.experience-style-two .experience-center{flex:1 1 260px;padding-left:30px}.experience-style-two .date{display:inline-block;margin-bottom:12px;padding:2px 12px;border-radius:20px;background-color:#545961;color:var(--lightn);font-size:14px}.white-version .experience-style-two .date{background-color:var(--color-primary);color:#fff}.experience-style-two .experience-title{margin-bottom:8px;color:var(--heading);font-size:24px;font-weight:600}.experience-style-two .subtitle{display:block;margin-bottom:10px;color:var(--color-primary);font-family:var(--font-secondary);font-size:14px;font-weight:500;letter-spacing:1px}.experience-style-two .disc{color:var(--body-color);font-size:16px;line-height:1.7}.experience-style-two .experience-right{flex-shrink:0}.rn-nav-list{display:flex;justify-content:space-between;margin-top:45px;border-radius:10px;background:var(--card-bg);box-shadow:var(--card-shadow)}.rn-nav-list .nav-item{flex-basis:25%;text-align:center}.rn-nav-list .nav-link{display:block;width:100%;padding:30px 10px;border:0;border-radius:10px;background:transparent;color:var(--lightn);font-family:var(--font-primary);font-size:18px;font-weight:500;text-transform:capitalize;transition:all .5s}.rn-nav-list .nav-link.active,.rn-nav-list .nav-link:hover{background:var(--card-bg);box-shadow:var(--card-shadow);color:var(--color-primary)}.tab-pane{animation:fadeIn .5s ease both}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.personal-experience-inner{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:30px;margin-top:40px}.personal-experience-inner.single{grid-template-columns:minmax(0,1fr)}.personal-experience-inner .content>.subtitle{display:block;margin-bottom:8px;color:var(--color-subtitle);font-family:var(--font-secondary);font-size:14px;font-weight:500;letter-spacing:3px;text-transform:uppercase}.personal-experience-inner .maintitle{margin-bottom:10px;color:var(--heading);font-size:30px}.experience-list{position:relative;margin-left:30px;padding-left:20px}.experience-list:before{content:"";position:absolute;top:60px;bottom:40px;left:0;width:1px;background:var(--hairline)}.resume-single-list{position:relative;z-index:2;margin-top:30px;padding:45px 40px;border-radius:6px;background:var(--card-bg);box-shadow:var(--card-shadow);transition:var(--transition)}.resume-single-list:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;border-radius:6px;background:var(--hover-overlay);opacity:0;transition:var(--transition)}.resume-single-list:hover:before{opacity:1}.resume-single-list .inner:after{content:"";position:absolute;top:55px;right:102%;width:20px;height:20px;border:5px solid #17191c;border-radius:100%;background:#222529;transform:translateY(-7px);transition:var(--transition)}.white-version .resume-single-list .inner:after{border-color:#dce1e4;background:#fff}.resume-single-list .inner:before{content:"";position:absolute;top:63px;right:100%;z-index:0;width:28px;height:5px;background:var(--separator);transform:translateY(-7px)}.resume-single-list:hover .inner:after{border-color:var(--color-primary)}.resume-single-list .heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:20px;padding-bottom:20px;border-bottom:1px solid var(--separator)}.resume-single-list .heading .title h4{margin-bottom:7px;color:var(--lightn);font-family:var(--font-primary);font-size:24px;font-weight:500;line-height:1.4;transition:var(--transition)}.resume-single-list .heading .title span{display:block;color:var(--dim);font-size:14px}.resume-single-list .date-of-time span{display:block;height:36px;padding:0 15px;border-radius:6px;background:var(--card-bg);box-shadow:var(--card-shadow);color:var(--color-primary);font-size:14px;font-weight:500;line-height:36px;white-space:nowrap;transition:var(--transition)}.resume-single-list .description{color:var(--body-color);font-size:16px;line-height:1.7}.resume-single-list .bullets{margin-top:6px}.resume-single-list .bullets li{position:relative;margin-top:10px;padding-left:20px;color:var(--body-color);font-size:15px;line-height:1.7}.resume-single-list .bullets li:before{content:"";position:absolute;top:11px;left:0;width:7px;height:7px;border-radius:50%;background:var(--color-primary)}.resume-single-list:hover .heading .title h4,.resume-single-list:hover .heading .title span,.resume-single-list:hover .description,.resume-single-list:hover .bullets li{color:#fff}.resume-single-list:hover .date-of-time span{background:var(--color-primary);box-shadow:none;color:#fff}.progress-wrapper .content>.subtitle{display:block;margin-bottom:8px;color:var(--color-subtitle);font-family:var(--font-secondary);font-size:14px;font-weight:500;letter-spacing:3px;text-transform:uppercase}.progress-charts{overflow:hidden}.progress-charts+.progress-charts{margin-top:30px}.progress-charts .heading{margin-bottom:15px;color:var(--lightn);font-family:var(--font-primary);font-size:12px;font-weight:400;letter-spacing:2px;opacity:.9;text-transform:uppercase}.progress-charts .progress{height:13px;padding:3px;border-radius:10px;background:var(--page-bg);box-shadow:inset 8px 8px 16px #00000075,inset -8px -8px 16px #383e4575}.white-version .progress-charts .progress{background:#dce1e4;box-shadow:none}.progress-charts .progress-bar{position:relative;width:0;height:100%;border-radius:14px;background:linear-gradient(145deg,#f02981,#c81901);transition:width 1.2s cubic-bezier(.22,.61,.36,1)}.white-version .progress-charts .progress-bar{background:linear-gradient(145deg,#fff 0,var(--color-primary) 100%)}.progress-charts .percent-label{position:absolute;top:-25px;right:-7px;color:var(--lightn);font-size:14px;letter-spacing:2px;opacity:.9}.stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:30px;margin-top:40px}.stat-card{padding:30px 20px;border-radius:10px;background:var(--card-bg);box-shadow:var(--card-shadow);text-align:center;transition:var(--transition)}.stat-card:hover{transform:translateY(-5px)}.stat-value{color:var(--color-primary);font-family:var(--font-secondary);font-size:40px;font-weight:700;line-height:1.1}.stat-label{margin-top:8px;color:var(--body-color);font-size:14px;letter-spacing:1px}.ach-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:30px;margin-top:30px}.ach-card{position:relative;z-index:2;display:flex;gap:18px;align-items:flex-start;padding:30px;border-radius:10px;background:var(--card-bg);box-shadow:var(--card-shadow);transition:var(--transition)}.ach-card:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;border-radius:10px;background:var(--hover-overlay);opacity:0;transition:var(--transition)}.ach-card:hover{transform:translateY(-5px)}.ach-card:hover:before{opacity:1}.ach-icon{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px;border-radius:8px;background:#ff014f1f;color:var(--color-primary)}.ach-card p{color:var(--lightn);font-size:16px;line-height:1.6}.ach-card:hover p{color:#fff}.cert-list li{display:flex;align-items:center;gap:10px;margin-top:12px;color:var(--body-color);font-size:16px}.cert-list li svg{flex-shrink:0;color:var(--color-primary)}.card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px;margin-top:20px}.card-grid.two-up{grid-template-columns:repeat(2,minmax(0,1fr))}.rn-portfolio,.rn-blog{position:relative;z-index:1;display:flex;flex-direction:column;height:100%;padding:30px;border-radius:20px;background:var(--card-bg);box-shadow:var(--card-shadow);text-align:left;transition:all .5s ease-in-out}.rn-portfolio:hover,.rn-blog:hover{transform:translateY(-5px)}.rn-portfolio .thumbnail,.rn-blog .thumbnail{display:block;overflow:hidden;border-radius:10px}.rn-portfolio .thumbnail img,.rn-portfolio .thumbnail svg,.rn-blog .thumbnail img,.rn-blog .thumbnail svg{width:100%;border-radius:10px;object-fit:cover;transition:var(--transition)}.rn-portfolio:hover .thumbnail img,.rn-portfolio:hover .thumbnail svg,.rn-blog:hover .thumbnail img,.rn-blog:hover .thumbnail svg{transform:scale(1.06)}.rn-portfolio .content,.rn-blog .content{display:flex;flex:1 1 auto;flex-direction:column;padding-top:18px}.category-info{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-bottom:10px}.category-info .category-list{color:var(--color-primary);font-family:var(--font-primary);font-size:12px;font-weight:500;letter-spacing:1px;text-transform:uppercase}.category-info .meta{display:inline-flex;align-items:center;gap:5px;color:var(--lightn);font-family:var(--font-primary);font-size:13px;font-weight:500;white-space:nowrap}.rn-portfolio .card-title,.rn-blog .card-title{margin:0 0 10px;color:var(--lightn);font-size:23px;font-weight:600;line-height:34px;transition:var(--transition)}.rn-portfolio:hover .card-title,.rn-blog:hover .card-title{color:var(--color-primary)}.card-desc{color:var(--body-color);font-size:15px;line-height:1.7}.card-foot{display:flex;flex-wrap:wrap;gap:8px;margin-top:auto;padding-top:18px}.tag{padding:4px 12px;border-radius:20px;background:#ff014f1a;color:var(--color-primary);font-size:12px;font-weight:500;letter-spacing:.5px}.card-role{margin-top:12px;padding-top:12px;border-top:1px solid var(--separator);color:var(--dim);font-size:14px;line-height:1.6}.center-cta{margin-top:50px;text-align:center}.contact-grid{display:grid;grid-template-columns:5fr 7fr;gap:30px;margin-top:45px;align-items:stretch}.contact-about-area{height:100%;padding:30px;border-radius:10px;background:var(--card-bg);box-shadow:var(--card-shadow)}.contact-about-area .thumbnail{margin-bottom:28px;overflow:hidden;border-radius:10px}.contact-about-area .thumbnail img{width:100%;max-width:260px;aspect-ratio:1;height:auto;border-radius:10px;object-fit:cover;object-position:center}.contact-about-area .title-area{margin-bottom:15px}.contact-about-area .title-area .title{margin-bottom:9px;color:var(--heading);font-size:29px;line-height:1.4}.contact-about-area .title-area .subtitle{color:var(--color-primary);font-family:var(--font-secondary);font-size:14px;font-weight:500;letter-spacing:1px}.contact-about-area .description{padding-bottom:20px;border-bottom:1px solid var(--separator);color:var(--body-color);font-size:16px;line-height:1.7}.contact-about-area .description span{display:block;margin-top:14px;color:var(--lightn);font-size:15px}.contact-about-area .description span a:hover{color:var(--color-primary)}.contact-form-wrapper{height:100%;padding:30px;border-radius:10px;background:var(--card-bg);box-shadow:var(--card-shadow)}.contact-form-wrapper .introduce{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 20px}.form-group{margin-bottom:22px}.contact-form-wrapper label{display:block;margin-bottom:14px;color:#a0a8b3;font-family:var(--font-secondary);font-size:12px;font-weight:500;letter-spacing:1px;text-align:left;text-transform:uppercase}.white-version .contact-form-wrapper label{color:var(--body-color)}.contact-form-wrapper input,.contact-form-wrapper textarea{width:100%;padding:0 15px;border:2px solid var(--field-bg);border-radius:6px;background-color:var(--field-bg);box-shadow:var(--inset-shadow);color:var(--lightn);font-family:var(--font-secondary);font-size:14px;letter-spacing:1px;transition:var(--transition)}.white-version .contact-form-wrapper input,.white-version .contact-form-wrapper textarea{border-color:#dce1e4}.contact-form-wrapper input{height:55px}.contact-form-wrapper textarea{min-height:190px;padding:12px 15px;line-height:1.6;resize:vertical}.contact-form-wrapper input:focus,.contact-form-wrapper textarea:focus{border-color:var(--color-primary);box-shadow:none;outline:none}.form-status{margin-top:16px;color:var(--color-primary);font-size:14px}.social-share-style-1 .title{display:inline-block;margin-bottom:20px;color:var(--lightn);font-size:14px;font-weight:500;letter-spacing:2px;text-transform:uppercase}.social-share{display:flex;flex-wrap:wrap;gap:20px}.social-share li a{position:relative;z-index:1;display:inline-flex;align-items:center;justify-content:center;width:60px;height:60px;border-radius:6px;background:var(--card-bg);box-shadow:var(--card-shadow);color:var(--lightn);transition:var(--transition)}.social-share li a:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;border-radius:6px;background:var(--hover-overlay);opacity:0;transition:var(--transition)}.social-share li a:hover{color:var(--color-primary);transform:translateY(-5px)}.social-share li a:hover:before{opacity:1}.white-version .social-share li a:hover{color:#fff}.rn-footer-area{padding-top:100px}.footer-columns{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:30px}.footer-columns .ft-title{margin-bottom:20px;color:var(--heading);font-size:20px;font-weight:600;text-transform:capitalize}.footer-columns li{margin-bottom:12px}.footer-columns li a{color:var(--body-color);font-size:15px}.footer-columns li a:hover{color:var(--color-primary)}.footer-brand .disc{color:var(--body-color);font-size:15px;line-height:1.7}.copyright{margin-top:60px;padding:30px 0;border-top:1px solid var(--separator);color:var(--body-color);font-size:16px;text-align:center}.copyright a{color:var(--color-primary)}.page-top{padding-top:160px}.blog-toolbar{display:flex;flex-wrap:wrap;gap:20px;align-items:center;justify-content:space-between;margin:45px 0 10px}.search-box{position:relative;flex:1 1 260px;max-width:340px}.search-box svg{position:absolute;top:50%;left:16px;color:var(--dim);transform:translateY(-50%)}.search-box input{width:100%;height:52px;padding:0 16px 0 46px;border:2px solid var(--field-bg);border-radius:6px;background:var(--field-bg);box-shadow:var(--inset-shadow);color:var(--lightn);font-family:var(--font-secondary);font-size:14px}.white-version .search-box input{border-color:#dce1e4}.search-box input:focus{border-color:var(--color-primary);outline:none}.cat-filters{display:flex;flex-wrap:wrap;gap:12px}.cat-btn{padding:10px 18px;border:0;border-radius:6px;background:var(--card-bg);box-shadow:var(--card-shadow);color:var(--lightn);font-family:var(--font-secondary);font-size:13px;letter-spacing:1px;text-transform:uppercase;transition:var(--transition)}.cat-btn:hover,.cat-btn.active{color:var(--color-primary);transform:translateY(-3px)}.cat-btn-count{margin-left:6px;opacity:.6}.empty-state{margin-top:60px;color:var(--body-color);text-align:center}.feat-pill{padding:4px 10px;border-radius:20px;background:var(--color-primary);color:#fff;font-size:11px;letter-spacing:1px;text-transform:uppercase}.back-link{display:inline-flex;align-items:center;gap:8px;margin-bottom:30px;color:var(--color-primary);font-size:14px;letter-spacing:1px;text-transform:uppercase}.post-header{padding-bottom:30px;margin-bottom:40px;border-bottom:1px solid var(--separator)}.post-meta{display:flex;flex-wrap:wrap;gap:14px;align-items:center;margin-bottom:18px;color:var(--dim);font-size:13px}.post-meta .meta{display:inline-flex;align-items:center;gap:5px}.cat-pill{color:var(--color-primary);font-size:12px;font-weight:500;letter-spacing:1px;text-transform:uppercase}.post-title{color:var(--heading);font-size:44px;line-height:1.25}.post-lede{margin-top:18px;color:var(--body-color);font-size:18px;line-height:1.7}.post-author{display:flex;align-items:center;gap:14px;margin-top:28px}.post-author img{width:52px;height:52px;border-radius:50%;object-fit:cover}.post-author strong{display:block;color:var(--lightn);font-size:16px}.post-author span{color:var(--dim);font-size:13px}.post-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:40px}.post-nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:30px;margin-top:50px}.post-nav-link{padding:24px;border-radius:10px;background:var(--card-bg);box-shadow:var(--card-shadow);transition:var(--transition)}.post-nav-link:hover{transform:translateY(-5px)}.post-nav-link.align-end{text-align:right;grid-column:2}.post-nav-dir{display:block;margin-bottom:8px;color:var(--color-primary);font-size:12px;letter-spacing:1px;text-transform:uppercase}.post-nav-link strong{color:var(--lightn);font-size:17px;font-weight:500;line-height:1.4}.related{margin-top:70px}.related .ft-title{margin-bottom:24px;color:var(--heading);font-size:26px}.md{color:var(--body-color);font-size:17px;line-height:1.8}.md>*+*{margin-top:22px}.md h2{margin-top:46px;color:var(--heading);font-size:30px}.md h3{margin-top:38px;color:var(--heading);font-size:23px}.md a{color:var(--color-primary);text-decoration:underline;text-underline-offset:3px}.md strong{color:var(--lightn)}.md code{padding:2px 6px;border-radius:4px;background:var(--field-bg);color:var(--color-primary);font-family:var(--mono);font-size:.88em}.md-code{position:relative;padding:22px;border-radius:10px;background:var(--field-bg);box-shadow:var(--inset-shadow);overflow-x:auto}.md-code code{padding:0;background:none;color:var(--lightn);font-size:14px;line-height:1.7}.md-code[data-lang]:after{content:attr(data-lang);position:absolute;top:10px;right:14px;color:var(--dim);font-size:11px;letter-spacing:1px;text-transform:uppercase}.md-list{padding-left:4px}.md-list li{position:relative;margin-top:10px;padding-left:22px}.md-list li:before{content:"";position:absolute;top:12px;left:0;width:7px;height:7px;border-radius:50%;background:var(--color-primary)}.md blockquote{margin:0;padding:4px 0 4px 22px;border-left:3px solid var(--color-primary);color:var(--lightn);font-style:italic}.md hr{border:0;border-top:1px solid var(--separator)}.to-top{position:fixed;right:30px;bottom:30px;z-index:99;opacity:0;visibility:hidden;transition:var(--transition)}.to-top.show{opacity:1;visibility:visible}.reveal{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s ease}.reveal.visible{opacity:1;transform:none}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}.reveal,.reveal.visible{opacity:1;transform:none;transition:none}.progress-charts .progress-bar{transition:none}}@media (max-width: 1199px){.mainmenu-nav{display:none}.hamburger{display:inline-flex}.header-right .rn-btn{display:none}.slider-wrapper{grid-template-columns:1fr;padding-top:140px}.slider-wrapper .background-image-area{order:-1;justify-self:center;max-width:340px}.experience-style-two{width:100%}.card-grid,.footer-columns{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 991px){.rn-section-gap{padding:80px 0}.section-title .title{font-size:40px}.user-info-header .title{font-size:48px;line-height:58px}.personal-experience-inner,.contact-grid{grid-template-columns:minmax(0,1fr)}.stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.rn-nav-list{flex-wrap:wrap}.rn-nav-list .nav-item{flex-basis:50%}.rn-nav-list .nav-link{padding:22px 8px;font-size:15px}}@media (max-width: 767px){body{font-size:16px}.page-top{padding-top:120px}.section-title .title{font-size:34px}.user-info-header .title{font-size:32px;line-height:40px}.user-info-top,.user-info-bottom,.background-image-area,.contact-about-area,.contact-form-wrapper,.rn-portfolio,.rn-blog{padding:20px}.experience-style-two{display:block;padding:20px}.experience-style-two .experience-left{display:block}.experience-style-two .experience-image{width:100%}.experience-style-two .experience-center{padding:25px 0 0}.experience-style-two .experience-right{margin-top:25px}.card-grid,.card-grid.two-up{grid-template-columns:minmax(0,1fr)}.experience-list{margin-left:0;padding-left:0}.experience-list:before,.resume-single-list .inner:after,.resume-single-list .inner:before{display:none}.resume-single-list{padding:25px 20px}.resume-single-list .heading{display:block}.resume-single-list .date-of-time span{display:inline-block;margin-top:6px}.contact-form-wrapper .introduce{grid-template-columns:minmax(0,1fr)}.rn-nav-list .nav-item{flex-basis:100%}.post-title{font-size:30px}.post-nav{grid-template-columns:minmax(0,1fr)}.post-nav-link.align-end{grid-column:auto;text-align:left}.footer-columns{grid-template-columns:minmax(0,1fr)}.social-share{gap:15px}.social-share li a{width:52px;height:52px}.to-top{right:16px;bottom:16px}}@media (max-width: 479px){.stat-grid{grid-template-columns:minmax(0,1fr)}.user-info-bottom .button-wrapper{flex-direction:column;align-items:stretch}.user-info-bottom .rn-btn{justify-content:center}}.experience-block+.experience-block{margin-top:60px;padding-top:50px;border-top:1px solid var(--separator)}.experience-block .experience-list{width:90%;margin:30px auto 0}.deliverables{display:flex;flex-wrap:wrap;align-items:center;gap:10px;width:90%;margin:24px auto 0;font-size:14px}.deliverables .k{color:var(--dim);font-weight:500;letter-spacing:.5px;text-transform:uppercase}.chip{display:inline-flex;align-items:center;padding:6px 16px;border-radius:6px;background:var(--card-bg);box-shadow:var(--card-shadow);color:var(--lightn);font-size:13px;font-weight:500;transition:var(--transition)}a.chip:hover{color:var(--color-primary);transform:translateY(-3px)}@media (max-width: 991px){.experience-block .experience-list,.deliverables{width:100%}}.rn-portfolio .thumbnail.is-logo{display:grid;place-items:center;aspect-ratio:16 / 10;padding:30px;background:#f4f6f8}.rn-portfolio .thumbnail.is-logo img{width:calc(100% * var(--logo-scale, 1));height:calc(100% * var(--logo-scale, 1));border-radius:0;object-fit:contain}@media (max-width: 575px){.rn-portfolio .thumbnail.is-logo{padding:22px}}.ubuntu-root{--u-orange: #e95420;--u-orange-hi: #f2733f;--u-purple: #77216f;--u-aubergine: #2c001e;--u-green: #8ac776;--u-panel: #1e1e1e;--u-header: #303030;--u-header-in: #3a3a3a;--u-sidebar: #262626;--u-input: #171717;--u-border: rgba(255, 255, 255, .11);--u-line: rgba(255, 255, 255, .07);--u-hover: rgba(255, 255, 255, .08);--u-active: rgba(255, 255, 255, .15);--u-text: #ffffff;--u-text-2: #c9c9c9;--u-text-3: #949494;--u-topbar: rgba(0, 0, 0, .82);--u-dock: rgba(26, 22, 26, .72);--u-shadow: 0 24px 62px rgba(0, 0, 0, .58), 0 4px 14px rgba(0, 0, 0, .42);--ide-bg: #1e1e1e;--ide-side: #252526;--ide-tab: #2d2d2d;--u-radius: 12px;font-family:Ubuntu,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;--heading: var(--u-text);--lightn: var(--u-text);--body-color: var(--u-text-2);--dim: var(--u-text-3);--color-primary: var(--u-orange);--field-bg: var(--u-input);--separator: var(--u-line);--inset-shadow: none;--mono: "Ubuntu Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;position:fixed;top:0;right:0;bottom:0;left:0;overflow:hidden;color:var(--u-text-2);font-size:14px;-webkit-font-smoothing:antialiased}.ubuntu-root[data-theme=light]{--u-panel: #ffffff;--u-header: #ebebeb;--u-header-in: #f7f7f7;--u-sidebar: #f4f3f2;--u-input: #ffffff;--u-border: rgba(0, 0, 0, .15);--u-line: rgba(0, 0, 0, .09);--u-hover: rgba(0, 0, 0, .06);--u-active: rgba(0, 0, 0, .12);--u-text: #2b2b2b;--u-text-2: #4b4b4b;--u-text-3: #7c7c7c;--u-shadow: 0 22px 58px rgba(0, 0, 0, .3), 0 3px 10px rgba(0, 0, 0, .16);--ide-bg: #ffffff;--ide-side: #f3f3f3;--ide-tab: #ececec;--field-bg: #f2f1f0}.ubuntu-root *,.ubuntu-root *:before,.ubuntu-root *:after{box-sizing:border-box}.ubuntu-root h1,.ubuntu-root h2,.ubuntu-root h3,.ubuntu-root p,.ubuntu-root ul,.ubuntu-root ol,.ubuntu-root figure{margin:0;padding:0}.ubuntu-root ul{list-style:none}.ubuntu-root button,.ubuntu-root input,.ubuntu-root textarea,.ubuntu-root select{font:inherit}.about-photo,.lom-greeting img,.mail-contactcard img{display:block;margin-inline:auto}.ubuntu-root .md{font-size:15px;line-height:1.75}.ubuntu-root .md>*+*{margin-top:18px}.ubuntu-root .md h2{margin-top:32px;font-size:20px;font-weight:500}.ubuntu-root .md h3{margin-top:26px;font-size:17px;font-weight:500}.ubuntu-root .md-code{padding:16px;border-radius:9px}.ubuntu-root .md-code code{font-size:12.8px}.ubuntu-root ::-webkit-scrollbar{width:10px;height:10px}.ubuntu-root ::-webkit-scrollbar-thumb{border:3px solid transparent;border-radius:8px;background:var(--u-text-3);background-clip:content-box}.ubuntu-root ::-webkit-scrollbar-thumb:hover{background:var(--u-text-2);background-clip:content-box}.u-seo{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}.ubuntu-root .u-btn{display:inline-flex;align-items:center;gap:7px;height:34px;padding:0 14px;border:1px solid var(--u-border);border-radius:8px;background:var(--u-header-in);color:var(--u-text);font-size:13.5px;font-weight:500;text-decoration:none;white-space:nowrap;cursor:pointer;transition:background .15s,border-color .15s}.ubuntu-root .u-btn:hover{background:var(--u-active)}.ubuntu-root .u-btn-primary{border-color:transparent;background:var(--u-orange);color:#fff}.ubuntu-root .u-btn-primary:hover{background:var(--u-orange-hi)}.ubuntu-root .u-btn-sm{height:30px;padding:0 11px;font-size:12.5px}.ubuntu-root :focus-visible{outline:2px solid var(--u-orange);outline-offset:2px}.wallpaper{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;overflow:hidden}.wallpaper-art{width:100%;height:100%;display:block}.wall-numbat{background:radial-gradient(125% 105% at 76% 16%,#c7522a,#8d2f4c 26%,#4d1638 56%,#240a26 82%,#170617)}.wall-aubergine{background:radial-gradient(115% 100% at 50% 0%,#8d2a84,#56164f 42%,#2c001e)}.wall-warty{background:linear-gradient(160deg,#e95420,#a83a1c 38%,#4d1a14 72%,#1f0d0b)}.wall-jammy{background:radial-gradient(120% 95% at 28% 8%,#2f4250,#1b2229 48%,#0c0e11)}.desktop{position:absolute;top:0;right:0;bottom:0;left:0}.desktop-workarea{position:absolute;top:32px;right:0;bottom:0;left:72px;z-index:1}.topbar{position:absolute;top:0;right:0;left:0;z-index:500;display:flex;align-items:center;justify-content:space-between;height:32px;padding:0 8px;background:var(--u-topbar);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);color:#fff;font-size:13px}.topbar-left,.topbar-right{display:flex;align-items:center;gap:2px;position:relative}.topbar-btn{display:flex;align-items:center;gap:6px;height:24px;padding:0 10px;border:0;border-radius:7px;background:none;color:#fff;font-size:13px;font-weight:500;cursor:pointer;transition:background .15s}.topbar-btn:hover,.topbar-btn.is-active{background:#ffffff29}.topbar-icon-btn{padding:0 8px}.topbar-appname{padding:0 8px;font-weight:700;font-size:13px}.topbar-clock{position:absolute;left:50%;transform:translate(-50%);height:24px;padding:0 12px;border:0;border-radius:7px;background:none;color:#fff;font-size:13px;font-weight:500;cursor:pointer}.topbar-clock:hover{background:#ffffff29}.topbar-status{gap:8px}.status-menu{position:absolute;top:34px;right:0;z-index:600;width:250px;padding:8px;border:1px solid var(--u-border);border-radius:14px;background:var(--u-header);box-shadow:var(--u-shadow);animation:u-pop .16s ease-out}.status-menu-head{padding:8px 10px 12px}.status-menu-head strong{display:block;color:var(--u-text);font-size:14px}.status-menu-head span{color:var(--u-text-3);font-size:12px}.status-menu button,.status-menu a{display:flex;align-items:center;gap:10px;width:100%;padding:9px 10px;border:0;border-radius:8px;background:none;color:var(--u-text-2);font-size:13.5px;text-align:left;text-decoration:none;cursor:pointer}.status-menu button:hover:not(:disabled),.status-menu a:hover{background:var(--u-hover);color:var(--u-text)}.status-menu button:disabled{opacity:.4;cursor:default}.status-menu hr{margin:6px 4px;border:0;border-top:1px solid var(--u-line)}.dock{position:absolute;top:32px;bottom:0;left:0;z-index:400;display:flex;flex-direction:column;align-items:center;gap:6px;width:72px;padding:10px 0;background:var(--u-dock);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-right:1px solid rgba(255,255,255,.08)}.dock-list{display:flex;flex-direction:column;gap:6px;overflow-y:auto;overflow-x:hidden;scrollbar-width:none}.dock-list::-webkit-scrollbar{display:none}.dock-item{position:relative;display:grid;place-items:center;width:52px;height:52px;border:0;border-radius:13px;background:none;cursor:pointer;transition:background .15s,transform .15s}.dock-item:hover{background:#ffffff24}.dock-item:active{transform:scale(.94)}.dock-item.is-focused{background:#fff3}.dock-dots{position:absolute;top:50%;left:2px;display:flex;flex-direction:column;gap:3px;transform:translateY(-50%)}.dock-dots i{width:3px;height:3px;border-radius:50%;background:var(--u-orange)}.dock-item.is-focused .dock-dots i{background:#fff}.dock-tip{position:absolute;left:calc(100% + 10px);z-index:10;padding:5px 10px;border-radius:7px;background:#000000e0;color:#fff;font-size:12.5px;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .14s}.dock-item:hover .dock-tip{opacity:1}.dock-apps{margin-top:auto}.dock-apps-grid{display:grid;place-items:center;width:44px;height:44px;border-radius:11px;background:#ffffff29;color:#fff}.desk-icons{position:absolute;top:14px;bottom:14px;left:14px;display:grid;grid-auto-flow:column;grid-template-rows:repeat(auto-fill,108px);gap:2px;align-content:start}.desk-icon{display:flex;flex-direction:column;align-items:center;gap:7px;width:96px;padding:10px 6px;border:1px solid transparent;border-radius:10px;background:none;color:#fff;cursor:pointer;transition:background .14s,border-color .14s}.desk-icon:hover{background:#ffffff24;border-color:#ffffff29}.desk-icon:active{background:#ffffff38}.desk-icon-label{font-size:12.5px;line-height:1.3;text-align:center;text-shadow:0 1px 4px rgba(0,0,0,.9);word-break:break-word}.win{position:fixed;z-index:100;display:flex;flex-direction:column;min-width:320px;min-height:220px;border:1px solid var(--u-border);border-radius:var(--u-radius);background:var(--u-panel);box-shadow:var(--u-shadow);animation:u-win-in .18s cubic-bezier(.2,.9,.3,1);transition:opacity .16s,transform .16s}.win.is-max{top:32px;right:0;bottom:0;left:72px;width:auto;height:auto;border-width:0;border-radius:0}.win.is-min{opacity:0;transform:scale(.9) translateY(40px);pointer-events:none;visibility:hidden}.win-header{display:flex;align-items:center;gap:8px;height:45px;padding:0 8px 0 16px;border-bottom:1px solid var(--u-border);border-radius:calc(var(--u-radius) - 1px) calc(var(--u-radius) - 1px) 0 0;background:var(--u-header);cursor:default;-webkit-user-select:none;user-select:none;touch-action:none;flex-shrink:0}.win.is-max .win-header{border-radius:0}.win-title{flex:1;overflow:hidden;color:var(--u-text);font-size:14px;font-weight:700;text-align:center;text-overflow:ellipsis;white-space:nowrap;padding-left:78px}.win-controls{display:flex;gap:6px;flex-shrink:0}.win-btn{display:grid;place-items:center;width:27px;height:27px;border:0;border-radius:50%;background:var(--u-hover);color:var(--u-text);cursor:pointer;transition:background .14s,color .14s}.win-btn:hover{background:var(--u-active)}.win-btn-close:hover{background:#c0392b;color:#fff}.win-body{display:flex;flex:1;min-height:0;overflow:hidden;border-radius:0 0 calc(var(--u-radius) - 1px) calc(var(--u-radius) - 1px);background:var(--u-panel)}.win.is-max .win-body{border-radius:0}.win-body>*{flex:1;min-width:0;min-height:0}.win-resize{position:absolute;touch-action:none}.win-resize-n,.win-resize-s{right:8px;left:8px;height:7px;cursor:ns-resize}.win-resize-n{top:-4px}.win-resize-s{bottom:-4px}.win-resize-e,.win-resize-w{top:8px;bottom:8px;width:7px;cursor:ew-resize}.win-resize-e{right:-4px}.win-resize-w{left:-4px}.win-resize-ne,.win-resize-nw,.win-resize-se,.win-resize-sw{width:14px;height:14px}.win-resize-ne{top:-4px;right:-4px;cursor:nesw-resize}.win-resize-nw{top:-4px;left:-4px;cursor:nwse-resize}.win-resize-se{right:-4px;bottom:-4px;cursor:nwse-resize}.win-resize-sw{bottom:-4px;left:-4px;cursor:nesw-resize}.snap-preview{position:fixed;top:32px;right:0;bottom:0;left:72px;z-index:90;border:2px solid rgba(255,255,255,.55);border-radius:10px;background:#ffffff29;pointer-events:none}.notif{position:absolute;top:40px;left:50%;z-index:900;display:flex;align-items:center;gap:12px;width:min(470px,calc(100vw - 32px));padding:12px 14px;border:1px solid var(--u-border);border-radius:14px;background:var(--u-header);box-shadow:var(--u-shadow);transform:translate(-50%);animation:u-notif-in .32s cubic-bezier(.2,.9,.3,1)}.notif.is-out{animation:u-notif-out .24s ease-in forwards;pointer-events:none}.notif-icon{display:grid;place-items:center;flex-shrink:0}.notif-text{flex:1;min-width:0}.notif-text strong{display:block;color:var(--u-text);font-size:13.5px}.notif-text span{color:var(--u-text-3);font-size:12.5px;line-height:1.45}.notif-actions{display:flex;align-items:center;gap:6px;flex-shrink:0}.notif-close{display:grid;place-items:center;width:26px;height:26px;border:0;border-radius:50%;background:none;color:var(--u-text-3);cursor:pointer}.notif-close:hover{background:var(--u-hover);color:var(--u-text)}.overview{position:absolute;top:0;right:0;bottom:0;left:0;z-index:800;display:flex;flex-direction:column;align-items:center;animation:u-fade .16s ease-out}.overview-scrim{position:absolute;top:0;right:0;bottom:0;left:0;border:0;background:#120812bd;-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px);cursor:default}.overview-inner{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;width:100%;max-width:940px;padding:68px 24px 40px;overflow-y:auto}.overview-search{display:flex;align-items:center;gap:10px;width:min(560px,100%);height:46px;padding:0 18px;border:1px solid rgba(255,255,255,.2);border-radius:23px;background:#ffffff24;color:#fff}.overview-search input{flex:1;border:0;background:none;color:#fff;font-size:15px;outline:none}.overview-search input::placeholder{color:#ffffff8c}.overview-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(118px,1fr));gap:18px 10px;width:100%;margin-top:44px}.overview-grid-sm{grid-template-columns:repeat(auto-fill,minmax(96px,1fr));margin-top:14px}.overview-grid button{display:flex;flex-direction:column;align-items:center;gap:10px;width:100%;padding:12px 6px;border:0;border-radius:12px;background:none;color:#fff;font-size:12.5px;text-align:center;cursor:pointer;transition:background .14s}.overview-grid button:hover{background:#ffffff24}.overview-results{width:100%;margin-top:34px}.overview-results section+section{margin-top:26px}.overview-results h2{color:#fff9;font-size:11.5px;font-weight:600;letter-spacing:.1em;text-transform:uppercase}.overview-rows{display:grid;gap:4px;margin-top:10px}.overview-rows button{display:flex;align-items:center;gap:12px;width:100%;padding:11px 14px;border:0;border-radius:10px;background:#ffffff12;color:#fff;text-align:left;cursor:pointer;transition:background .14s}.overview-rows button:hover{background:#ffffff29}.overview-rows strong{display:block;font-size:13.5px;font-weight:500}.overview-rows em{color:#fff9;font-size:12px;font-style:normal}.overview-empty{margin-top:50px;color:#ffffffa6;font-size:14px}.app-about{overflow-y:auto;padding:30px 34px 38px}.about-hero{text-align:center}.about-photo{width:106px;height:106px;border:3px solid var(--u-orange);border-radius:50%;object-fit:cover}.about-name{margin-top:14px;color:var(--u-text);font-size:25px;font-weight:500}.about-role{margin-top:4px;color:var(--u-text-3);font-size:14px}.about-badges{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:18px}.about-badge{padding:6px 13px;border-radius:999px;background:var(--u-hover);color:var(--u-text-3);font-size:12.5px}.about-badge strong{color:var(--u-orange)}.about-specs{margin-top:28px;border:1px solid var(--u-border);border-radius:12px;background:var(--u-sidebar);overflow:hidden}.spec-row{display:flex;justify-content:space-between;gap:20px;padding:11px 16px;border-bottom:1px solid var(--u-line);font-size:13.5px}.spec-row:last-child{border-bottom:0}.spec-label{color:var(--u-text-3);flex-shrink:0}.spec-value{color:var(--u-text);font-weight:500;text-align:right}.about-block{margin-top:30px}.about-block h2{margin-bottom:12px;color:var(--u-text-3);font-size:11.5px;font-weight:600;letter-spacing:.09em;text-transform:uppercase}.about-summary{font-size:14.5px;line-height:1.75}.about-card{display:flex;gap:14px;padding:16px;border:1px solid var(--u-border);border-radius:12px;background:var(--u-sidebar)}.about-card-icon{display:grid;place-items:center;width:40px;height:40px;border-radius:10px;background:var(--u-orange);color:#fff;flex-shrink:0}.about-card h3{margin:0 0 3px;color:var(--u-text);font-size:15px;font-weight:500}.about-card p{font-size:13px}.about-muted{color:var(--u-text-3)}.about-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.about-chips li{display:flex;align-items:center;gap:6px;padding:6px 12px;border-radius:999px;background:var(--u-hover);font-size:12.5px}.about-chips svg{color:var(--u-green)}.about-list li{display:flex;align-items:center;gap:12px;padding:11px 0;border-bottom:1px solid var(--u-line);font-size:14px}.about-list li:last-child{border-bottom:0}.about-list svg{color:var(--u-orange);flex-shrink:0}.about-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:30px}.app-files,.app-doc,.app-firefox{display:flex;flex-direction:column;overflow:hidden;background:var(--u-panel)}.fm-toolbar{display:flex;align-items:center;gap:10px;padding:8px 12px;border-bottom:1px solid var(--u-line);background:var(--u-header);flex-shrink:0}.fm-nav-btn{display:grid;place-items:center;width:29px;height:29px;border:0;border-radius:50%;background:var(--u-hover);color:var(--u-text);cursor:pointer}.fm-nav-btn:disabled{opacity:.35;cursor:default}.fm-crumbs{display:flex;align-items:center;gap:3px;flex:1;min-width:0}.fm-crumb{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;border:0;border-radius:7px;background:var(--u-hover);color:var(--u-text-2);font-size:13px;cursor:pointer}.fm-crumb-active{background:var(--u-active);color:var(--u-text)}.fm-crumb-sep{color:var(--u-text-3)}.fm-search{display:flex;align-items:center;gap:7px;height:30px;padding:0 11px;border:1px solid var(--u-border);border-radius:8px;background:var(--u-input);color:var(--u-text-3)}.fm-search input{width:130px;border:0;background:none;color:var(--u-text);font-size:13px;outline:none}.fm-body{display:flex;flex:1;min-height:0}.fm-sidebar{width:186px;padding:12px 8px;border-right:1px solid var(--u-line);background:var(--u-sidebar);overflow-y:auto;flex-shrink:0}.fm-sidebar-head{padding:10px 10px 6px;color:var(--u-text-3);font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase}.fm-place{display:flex;align-items:center;gap:10px;width:100%;padding:8px 10px;border:0;border-radius:8px;background:none;color:var(--u-text-2);font-size:13.5px;text-align:left;text-decoration:none;cursor:pointer}.fm-place:hover{background:var(--u-hover);color:var(--u-text)}.fm-place.is-active{background:var(--u-orange);color:#fff}.fm-content{flex:1;min-width:0;padding:18px 20px 30px;overflow-y:auto}.fm-group+.fm-group{margin-top:28px}.fm-group-head h2{color:var(--u-text);font-size:14px;font-weight:700}.fm-group-head p{max-width:74ch;margin-top:5px;color:var(--u-text-3);font-size:12.5px;line-height:1.6}.fm-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(126px,1fr));gap:4px;margin-top:14px}.fm-item{display:flex;flex-direction:column;align-items:center;gap:8px;width:100%;padding:12px 8px;border:1px solid transparent;border-radius:10px;background:none;cursor:pointer}.fm-item:hover{border-color:var(--u-border);background:var(--u-hover)}.fm-glyph{position:relative;display:grid;place-items:center;width:64px;height:52px;color:var(--u-text-3)}.fm-folder{width:62px;fill:#d08b45}.fm-thumb{position:absolute;top:17px;width:30px;height:30px;padding:2px;border-radius:4px;background:#fff;object-fit:contain}.fm-ext{position:absolute;bottom:2px;padding:1px 5px;border-radius:3px;background:#c0392b;color:#fff;font-size:9px;font-style:normal;font-weight:700}.fm-ext-json{background:var(--u-orange)}.fm-name{color:var(--u-text);font-size:12.5px;line-height:1.35;text-align:center;word-break:break-word}.fm-meta{color:var(--u-text-3);font-size:11px;text-align:center}.fm-status{padding:6px 14px;border-top:1px solid var(--u-line);background:var(--u-header);color:var(--u-text-3);font-size:12px;flex-shrink:0}.fm-empty{color:var(--u-text-3);font-size:13.5px}.app-project{overflow-y:auto;padding:26px 30px 34px}.pd-head{display:flex;flex-wrap:wrap;align-items:center;gap:16px}.pd-logo{display:grid;place-items:center;width:64px;height:64px;border-radius:14px;background:#fff;overflow:hidden;flex-shrink:0}.pd-logo img{width:48px;height:48px;object-fit:contain}.pd-logo-blank{background:var(--u-hover);color:var(--u-text-3)}.pd-title h1{color:var(--u-text);font-size:22px;font-weight:500}.pd-title p{margin-top:3px;color:var(--u-text-3);font-size:13.5px}.pd-tag-group{margin-left:auto;padding:5px 12px;border-radius:999px;font-size:11.5px;font-weight:600}.pd-tag-group.is-built{background:#e9542029;color:var(--u-orange)}.pd-tag-group.is-led{background:#a0509833;color:#c77bbf}.pd-highlights{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}.pd-highlights li{padding:6px 12px;border-radius:8px;background:var(--u-hover);color:var(--u-text-2);font-size:12.5px}.pd-section{margin-top:26px}.pd-section h2{margin-bottom:8px;color:var(--u-text-3);font-size:11.5px;font-weight:600;letter-spacing:.09em;text-transform:uppercase}.pd-section p{font-size:14.5px;line-height:1.7}.pd-role{padding:16px 18px;border-left:3px solid var(--u-purple);border-radius:0 12px 12px 0;background:var(--u-sidebar)}.pd-tags{display:flex;flex-wrap:wrap;gap:7px}.pd-tags li{padding:4px 10px;border:1px solid var(--u-border);border-radius:6px;color:var(--u-text-3);font-size:12px}.pd-footer{margin-top:28px}.pd-private{display:inline-flex;align-items:center;gap:7px;color:var(--u-text-3);font-size:13px}.doc-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 12px;border-bottom:1px solid var(--u-line);background:var(--u-header);flex-shrink:0}.doc-name{display:flex;align-items:center;gap:8px;min-width:0;color:var(--u-text-2);font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.doc-tools{display:flex;gap:8px;flex-shrink:0}.doc-page{flex:1;min-height:0;background:#55504f}.doc-page iframe{display:block;width:100%;height:100%;border:0}.ff-tabstrip{display:flex;align-items:flex-end;gap:4px;padding:6px 8px 0;background:var(--u-header);flex-shrink:0}.ff-tab{display:flex;align-items:center;gap:8px;max-width:300px;padding:8px 13px;border-radius:9px 9px 0 0;background:var(--u-panel);color:var(--u-text);font-size:12.5px}.ff-tab-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ff-favicon{width:14px;height:14px;border-radius:4px;background:linear-gradient(135deg,#ffd34e,#e4356b);flex-shrink:0}.ff-newtab{padding:0 10px 8px;color:var(--u-text-3);font-size:16px}.ff-chrome{display:flex;align-items:center;gap:6px;padding:7px 10px;border-bottom:1px solid var(--u-line);background:var(--u-panel);flex-shrink:0}.ff-nav{display:grid;place-items:center;width:29px;height:29px;border:0;border-radius:50%;background:none;color:var(--u-text-2);cursor:pointer}.ff-nav:hover:not(:disabled){background:var(--u-hover)}.ff-nav:disabled{opacity:.32;cursor:default}.ff-urlbar{display:flex;align-items:center;gap:9px;flex:1;min-width:0;height:31px;padding:0 13px;border:1px solid var(--u-border);border-radius:999px;background:var(--u-input);color:var(--u-text-3);font-size:13px}.ff-url{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ff-url-host{color:var(--u-text);font-weight:500}.ff-url-star{flex-shrink:0}.ff-viewport{flex:1;min-height:0;overflow-y:auto;background:var(--u-panel)}.ff-index{max-width:800px;margin:0 auto;padding:32px 34px 44px}.ff-index-head h1{color:var(--u-text);font-size:26px;font-weight:500}.ff-index-head p{max-width:62ch;margin-top:9px;color:var(--u-text-3);font-size:14px;line-height:1.6}.ff-filters{display:flex;flex-wrap:wrap;gap:8px;margin:24px 0}.ff-filters button{padding:6px 14px;border:1px solid var(--u-border);border-radius:999px;background:none;color:var(--u-text-2);font-size:12.5px;cursor:pointer}.ff-filters button:hover{background:var(--u-hover)}.ff-filters button.is-active{border-color:transparent;background:var(--u-orange);color:#fff}.ff-posts{display:grid;gap:12px}.ff-posts button{width:100%;padding:18px 20px;border:1px solid var(--u-border);border-radius:12px;background:var(--u-sidebar);text-align:left;cursor:pointer;transition:border-color .15s,transform .15s}.ff-posts button:hover{border-color:var(--u-orange);transform:translateY(-2px)}.ff-post-row-top{display:flex;align-items:center;gap:9px}.ff-post-cat{color:var(--u-orange);font-size:11px;font-weight:600;letter-spacing:.07em;text-transform:uppercase}.ff-featured{padding:2px 8px;border-radius:4px;background:#e9542029;color:var(--u-orange);font-size:10.5px;font-weight:600}.ff-posts h2{margin-top:9px;color:var(--u-text);font-size:17px;font-weight:500;line-height:1.35}.ff-posts p{margin-top:7px;color:var(--u-text-2);font-size:13.5px;line-height:1.6}.ff-post-meta{display:block;margin-top:12px;color:var(--u-text-3);font-size:12px}.ff-post{max-width:740px;margin:0 auto;padding:30px 34px 56px}.ff-post h1{margin-top:8px;color:var(--u-text);font-size:28px;font-weight:500;line-height:1.3}.ff-back-link{display:inline-flex;align-items:center;gap:7px;margin-bottom:20px;padding:0;border:0;background:none;color:var(--u-orange);font-size:13px;cursor:pointer}.ff-tags{display:flex;flex-wrap:wrap;gap:6px;margin:16px 0 24px}.ff-tags li{padding:3px 9px;border-radius:5px;background:var(--u-hover);color:var(--u-text-3);font-size:11.5px}.app-code{display:flex;overflow:hidden;background:var(--ide-bg)}.ide-sidebar{width:212px;padding:10px 0;border-right:1px solid var(--u-line);background:var(--ide-side);overflow-y:auto;flex-shrink:0}.ide-explorer-head{padding:4px 16px 10px;color:var(--u-text-3);font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase}.ide-folder{display:flex;align-items:center;gap:6px;padding:4px 14px;color:var(--u-text-2);font-size:12px;font-weight:700}.ide-file{display:flex;align-items:center;gap:8px;width:100%;padding:6px 14px 6px 24px;border:0;background:none;color:var(--u-text-2);font-size:13px;text-align:left;cursor:pointer}.ide-file:hover{background:var(--u-hover)}.ide-file.is-active{background:var(--u-active);color:var(--u-text)}.ide-lang{width:20px;color:#e0a458;font-size:10px;font-weight:700;flex-shrink:0}.ide-lang-md{color:#6fa8dc}.ide-main{display:flex;flex-direction:column;flex:1;min-width:0}.ide-tabs{display:flex;align-items:stretch;border-bottom:1px solid var(--u-line);background:var(--ide-tab);overflow-x:auto;flex-shrink:0;scrollbar-width:none}.ide-tabs::-webkit-scrollbar{display:none}.ide-tab{display:flex;align-items:center;gap:7px;padding:9px 12px;border-right:1px solid var(--u-line);color:var(--u-text-3);font-size:12.5px;white-space:nowrap;cursor:pointer}.ide-tab.is-active{background:var(--ide-bg);box-shadow:inset 0 2px 0 var(--u-orange);color:var(--u-text)}.ide-tab-close{padding:0 2px;opacity:.45;font-size:15px;line-height:1}.ide-tab-close:hover{opacity:1}.ide-preview-toggle{margin-left:auto;padding:0 16px;border:0;background:none;color:var(--u-orange);font-size:12px;white-space:nowrap;cursor:pointer}.ide-editor{display:flex;flex:1;min-height:0;background:var(--ide-bg)}.ide-editor.is-source{overflow:auto}.ide-gutter{position:sticky;left:0;display:flex;flex-direction:column;padding:16px 0 24px 16px;background:var(--ide-bg);color:var(--u-text-3);font-family:var(--mono);font-size:12.5px;line-height:1.7;text-align:right;opacity:.5;-webkit-user-select:none;user-select:none;flex-shrink:0}.ide-code{flex:1;margin:0;padding:16px 20px 24px;color:var(--u-text-2);font-family:var(--mono);font-size:13px;line-height:1.7;white-space:pre}.tok-key{color:#9cdcfe}.tok-str{color:#ce9178}.tok-num{color:#b5cea8}.tok-kw{color:#569cd6}[data-theme=light] .tok-key{color:#0451a5}[data-theme=light] .tok-str{color:#a31515}[data-theme=light] .tok-num{color:#098658}[data-theme=light] .tok-kw{color:#00f}.ide-preview{flex:1;padding:28px 34px 44px;overflow-y:auto}.ide-preview .md{max-width:760px}.ide-view{max-width:840px}.ide-view-head{margin-bottom:20px}.ide-view-head h2{color:var(--u-text);font-size:21px;font-weight:500}.ide-view-head p{margin-top:6px;color:var(--u-text-3);font-size:13px}.sk-groups{display:grid;grid-template-columns:repeat(auto-fit,minmax(248px,1fr));gap:14px}.sk-card{padding:16px 18px;border:1px solid var(--u-border);border-radius:12px;background:var(--u-sidebar)}.sk-card h3{margin-bottom:12px;color:var(--u-text);font-size:14px;font-weight:500}.sk-chips{display:flex;flex-wrap:wrap;gap:7px}.sk-chips li{padding:5px 11px;border-radius:999px;background:var(--u-hover);color:var(--u-text-2);font-size:12.5px}.pf-group+.pf-group{margin-top:30px}.pf-head{display:flex;align-items:baseline;gap:10px;margin-bottom:16px}.pf-head h3{color:var(--u-text);font-size:15px;font-weight:500}.pf-head span{color:var(--u-orange);font-size:10.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase}.pf-row+.pf-row{margin-top:15px}.pf-row-top{display:flex;justify-content:space-between;gap:12px;margin-bottom:7px;font-size:13px}.pf-row-top strong{color:var(--u-text);font-weight:500}.pf-row-top span{color:var(--u-text-3)}.pf-bar{height:7px;border-radius:4px;background:var(--u-hover);overflow:hidden}.pf-fill{height:100%;border-radius:4px;background:linear-gradient(90deg,var(--u-orange),var(--u-orange-hi))}.ide-status{display:flex;align-items:center;gap:18px;padding:5px 14px;background:var(--u-orange);color:#fff;font-size:11.5px;flex-shrink:0}.ide-status-right{margin-left:auto}.app-contact{display:flex;overflow:hidden;background:var(--u-panel)}.mail-compose{display:flex;flex-direction:column;flex:1;min-width:0;overflow-y:auto}.mail-actionbar{display:flex;align-items:center;gap:12px;padding:10px 14px;border-bottom:1px solid var(--u-line);background:var(--u-header);flex-shrink:0}.mail-hint{color:var(--u-text-3);font-size:12px}.mail-fields{padding:6px 16px}.mail-field{display:flex;align-items:center;gap:12px;padding:8px 0;border-bottom:1px solid var(--u-line)}.mail-field>span:first-child{width:76px;color:var(--u-text-3);font-size:12.5px;flex-shrink:0}.mail-field input{flex:1;min-width:0;border:0;background:none;color:var(--u-text);font-size:13.5px;outline:none}.mail-recipient{color:var(--u-orange);font-size:13.5px}.mail-body{flex:1;min-height:190px;margin:12px 16px 16px;padding:14px;border:1px solid var(--u-border);border-radius:10px;background:var(--u-input);color:var(--u-text);font-size:14px;line-height:1.7;resize:none;outline:none}.mail-body:focus{border-color:var(--u-orange)}.mail-sent{display:flex;align-items:center;gap:9px;margin:0 16px 16px;padding:11px 13px;border-radius:9px;background:#8ac77626;color:var(--u-green);font-size:13px}.mail-sent a{color:inherit}.mail-contactcard{width:262px;padding:26px 20px;border-left:1px solid var(--u-line);background:var(--u-sidebar);text-align:center;overflow-y:auto;flex-shrink:0}.mail-contactcard img{width:84px;height:84px;border:3px solid var(--u-orange);border-radius:50%;object-fit:cover}.mail-contactcard h2{margin-top:12px;color:var(--u-text);font-size:16px;font-weight:500}.mail-contactcard>p{margin-top:4px;color:var(--u-text-3);font-size:12.5px;line-height:1.5}.mail-contactcard ul{display:grid;gap:15px;margin-top:22px;text-align:left}.mail-contactcard li{display:flex;align-items:flex-start;gap:10px}.mail-contactcard svg{margin-top:3px;color:var(--u-orange);flex-shrink:0}.mail-detail{display:flex;flex-direction:column;min-width:0}.mail-detail em{color:var(--u-text-3);font-size:10.5px;font-style:normal;letter-spacing:.06em;text-transform:uppercase}.mail-detail a,.mail-detail>span{color:var(--u-text-2);font-size:12.5px;text-decoration:none;word-break:break-word}.mail-detail a:hover{color:var(--u-orange)}.app-settings{overflow-y:auto;padding:26px 30px 34px}.set-block{margin-bottom:28px}.set-block h2{margin-bottom:11px;color:var(--u-text-3);font-size:11.5px;font-weight:600;letter-spacing:.09em;text-transform:uppercase}.set-row{display:flex;align-items:center;gap:16px;margin-bottom:8px;padding:14px 16px;border:1px solid var(--u-border);border-radius:12px;background:var(--u-sidebar)}.set-row-stack{flex-direction:column;align-items:stretch}.set-row-text strong{display:block;color:var(--u-text);font-size:14px;font-weight:500}.set-row-text span{color:var(--u-text-3);font-size:12.5px}.set-row>.u-btn,.set-seg{margin-left:auto;flex-shrink:0}.set-row-stack>.u-btn,.set-row-stack .set-seg{margin-left:0}.set-seg{display:flex;border:1px solid var(--u-border);border-radius:8px;overflow:hidden}.set-seg button{padding:7px 16px;border:0;background:none;color:var(--u-text-2);font-size:12.5px;cursor:pointer}.set-seg button.is-active{background:var(--u-orange);color:#fff}.set-walls{display:grid;grid-template-columns:repeat(auto-fit,minmax(118px,1fr));gap:14px;margin-top:16px}.set-walls li{text-align:center}.set-wall{position:relative;display:block;width:100%;aspect-ratio:16 / 10;border:2px solid transparent;border-radius:10px;cursor:pointer}.set-wall.is-active{border-color:var(--u-orange)}.set-wall-check{position:absolute;right:6px;bottom:6px;display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:var(--u-orange);color:#fff}.set-wall-name{display:block;margin-top:7px;color:var(--u-text-3);font-size:11.5px}.set-specs{display:grid;gap:1px;margin-bottom:14px;border:1px solid var(--u-border);border-radius:12px;background:var(--u-line);overflow:hidden}.set-specs>div{display:flex;justify-content:space-between;gap:18px;padding:11px 16px;background:var(--u-sidebar);font-size:13px}.set-specs span{color:var(--u-text-3);flex-shrink:0}.set-specs strong{color:var(--u-text);font-weight:500;text-align:right}.app-trash{overflow-y:auto;padding:20px 24px 28px}.trash-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px;color:var(--u-text-3);font-size:13px}.trash-list{display:grid;gap:8px}.trash-list li{display:flex;align-items:center;gap:13px;padding:13px 15px;border:1px solid var(--u-border);border-radius:10px;background:var(--u-sidebar)}.trash-list svg{color:var(--u-text-3);flex-shrink:0}.trash-list strong{display:block;color:var(--u-text);font-size:13.5px;font-weight:500}.trash-list span{color:var(--u-text-3);font-size:12px}.trash-empty{padding:46px 20px;text-align:center}.trash-empty h2{margin-top:18px;color:var(--u-text);font-size:20px;font-weight:500}.trash-empty p{max-width:42ch;margin:9px auto 22px;color:var(--u-text-3);font-size:13.5px;line-height:1.6}.lomiri{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;overflow:hidden}.lom-status{position:relative;z-index:5;display:flex;align-items:center;justify-content:space-between;height:26px;padding:0 12px;background:#0009;color:#fff;font-size:11.5px;flex-shrink:0}.lom-status-clock{position:absolute;left:50%;transform:translate(-50%);font-weight:500}.lom-status-icons{display:flex;align-items:center;gap:8px}.lom-stage{position:relative;flex:1;min-height:0}.lom-home{position:absolute;top:0;right:0;bottom:0;left:0;padding:24px 18px 30px;overflow-y:auto;color:#fff}.lom-greeting{text-align:center}.lom-greeting img{width:92px;height:92px;border:3px solid var(--u-orange);border-radius:50%;object-fit:cover}.lom-greeting h1{margin-top:13px;font-size:21px;font-weight:500}.lom-greeting>p{margin-top:4px;color:#ffffffd1;font-size:13px}.lom-greeting-loc{display:inline-flex;align-items:center;gap:5px;margin-top:7px;color:#ffffff9e;font-size:12px}.lom-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin:20px 0}.lom-stats li{padding:10px 4px;border-radius:11px;background:#ffffff21;text-align:center}.lom-stats strong{display:block;color:#fff;font-size:15px}.lom-stats span{display:block;margin-top:3px;color:#ffffffb8;font-size:9.5px;line-height:1.25}.lom-quick{display:flex;justify-content:center;gap:10px}.lom-apps{margin-top:30px}.lom-apps h2{margin-bottom:14px;color:#ffffff9e;font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase}.lom-apps ul{display:grid;grid-template-columns:repeat(auto-fill,minmax(82px,1fr));gap:16px 6px}.lom-apps button{display:flex;flex-direction:column;align-items:center;gap:8px;width:100%;padding:6px 2px;border:0;border-radius:12px;background:none;color:#fff;font-size:11.5px;line-height:1.25;text-align:center;cursor:pointer}.lom-apps button:active{background:#ffffff29}.lom-foot{margin-top:32px;text-align:center}.lom-foot a{color:#ffffffb8;font-size:12.5px}.lom-app{position:absolute;top:0;right:0;bottom:0;left:0;z-index:10;display:flex;flex-direction:column;background:var(--u-panel);animation:u-lom-in .2s ease-out}.lom-app-head{display:flex;align-items:center;gap:10px;padding:9px 10px;border-bottom:1px solid var(--u-line);background:var(--u-header);flex-shrink:0}.lom-app-head h1{flex:1;min-width:0;color:var(--u-text);font-size:15px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lom-app-back,.lom-app-close{display:grid;place-items:center;width:34px;height:34px;border:0;border-radius:50%;background:var(--u-hover);color:var(--u-text);cursor:pointer;flex-shrink:0}.lom-app-body{display:flex;flex:1;min-height:0;overflow:hidden}.lom-app-body>*{flex:1;min-width:0;min-height:0}.lom-edge{position:absolute;top:26px;bottom:46px;left:0;z-index:20;width:20px;touch-action:none}.lom-launcher-scrim{position:absolute;top:0;right:0;bottom:0;left:0;z-index:35;background:#00000080;opacity:0;pointer-events:none;transition:opacity .2s}.lom-launcher-scrim.is-open{opacity:1;pointer-events:auto}.lom-launcher{position:absolute;top:26px;bottom:46px;left:0;z-index:40;width:94px;padding:10px 0;background:#160e16f0;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);overflow-y:auto;transform:translate(-100%);transition:transform .22s cubic-bezier(.2,.9,.3,1)}.lom-launcher.is-open{transform:none}.lom-launcher button{display:flex;flex-direction:column;align-items:center;gap:6px;width:100%;padding:13px 4px;border:0;background:none;color:#fff;font-size:10px;line-height:1.2;text-align:center;cursor:pointer}.lom-bottom{position:relative;z-index:45;display:flex;align-items:center;justify-content:space-between;height:46px;padding:0 14px;background:#0009;flex-shrink:0}.lom-launcher-btn{display:grid;place-items:center;width:34px;height:34px;border:0;border-radius:50%;background:#ffffff26;color:#fff;cursor:pointer}.lom-home-btn{width:116px;height:5px;padding:0;border:0;border-radius:3px;background:#fff9;cursor:pointer}.lom-home-btn:disabled{opacity:.3;cursor:default}.lom-home-btn span{display:none}.lom-bottom-spacer{width:34px}[data-shell=touch] .fm-sidebar,[data-shell=touch] .ide-explorer-head,[data-shell=touch] .ide-folder{display:none}[data-shell=touch] .fm-grid{grid-template-columns:repeat(auto-fill,minmax(104px,1fr))}[data-shell=touch] .fm-search input{width:84px}[data-shell=touch] .app-code{flex-direction:column}[data-shell=touch] .ide-sidebar{display:flex;width:auto;padding:0;border-right:0;border-bottom:1px solid var(--u-line);overflow-x:auto;flex-shrink:0}[data-shell=touch] .ide-tree{display:flex}[data-shell=touch] .ide-file{padding:10px 14px;white-space:nowrap}[data-shell=touch] .ide-tab{display:none}[data-shell=touch] .app-contact{flex-direction:column;overflow-y:auto}[data-shell=touch] .mail-contactcard{width:auto;border-top:1px solid var(--u-line);border-left:0}[data-shell=touch] .app-about,[data-shell=touch] .app-project,[data-shell=touch] .app-settings{padding:20px 18px 30px}[data-shell=touch] .ff-index,[data-shell=touch] .ff-post{padding:22px 18px 36px}[data-shell=touch] .ff-tabstrip{display:none}[data-shell=touch] .pd-tag-group{margin-left:0}@keyframes u-win-in{0%{opacity:0;transform:scale(.96) translateY(10px)}}@keyframes u-notif-in{0%{opacity:0;transform:translate(-50%,-22px)}}@keyframes u-notif-out{to{opacity:0;transform:translate(-50%,-22px)}}@keyframes u-pop{0%{opacity:0;transform:translateY(-6px)}}@keyframes u-fade{0%{opacity:0}}@keyframes u-lom-in{0%{opacity:0;transform:translateY(18px)}}@media (prefers-reduced-motion: reduce){.ubuntu-root *,.ubuntu-root *:before,.ubuntu-root *:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
