:root{--bg-primary: #011627;--bg-secondary: #011221;--bg-tertiary: #0a1a2e;--bg-card: #011627;--bg-input: #011221;--bg-hover: #1a2a3a;--glass-bg: rgba(1, 22, 39, .6);--glass-bg-strong: rgba(1, 22, 39, .75);--glass-bg-light: rgba(1, 22, 39, .4);--glass-border: rgba(30, 45, 61, .5);--glass-blur: blur(12px);--border-primary: rgba(30, 45, 61, .6);--border-secondary: rgba(38, 59, 80, .6);--border-active: #fea55f;--text-primary: #ffffff;--text-secondary: #607b96;--text-muted: #465e77;--text-accent: #4d5bce;--text-green: #3c9d93;--text-orange: #fea55f;--text-purple: #c98bdf;--text-blue: #4d5bce;--text-cyan: #5565e8;--text-pink: #e99287;--text-yellow: #e5c07b;--text-red: #f44747;--syntax-keyword: #c98bdf;--syntax-function: #5565e8;--syntax-string: #e99287;--syntax-variable: #4d5bce;--syntax-comment: #607b96;--syntax-number: #fea55f;--syntax-type: #3c9d93;--syntax-constant: #fea55f;--accent-primary: #fea55f;--accent-secondary: #4d5bce;--accent-green: #3c9d93;--accent-gradient: linear-gradient(135deg, #4d5bce 0%, #3c9d93 100%);--nav-height: 48px;--footer-height: 40px;--sidebar-width: 260px;--font-mono: "Fira Code", "Cascadia Code", "JetBrains Mono", monospace;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 15px;--transition-fast: .15s ease;--transition-normal: .3s ease}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{font-size:16px;scroll-behavior:smooth}body{font-family:var(--font-mono);background-color:var(--bg-primary);color:var(--text-secondary);min-height:100vh;overflow-x:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{min-height:100vh;display:flex;flex-direction:column}a{color:inherit;text-decoration:none}ul,ol{list-style:none}button{font-family:var(--font-mono);cursor:pointer;border:none;background:none;color:inherit}input,textarea{font-family:var(--font-mono);outline:none;border:none;background:none;color:inherit}img{max-width:100%;display:block}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#263b5080;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.typing-text{display:inline}.typing-text:after{content:"|";animation:blink 1s infinite;color:var(--text-primary);margin-left:2px}.app-layout{display:flex;flex-direction:column;min-height:100vh;border:1px solid var(--border-primary);border-radius:var(--radius-md);overflow:hidden;margin:0;position:relative}.app-content{flex:1;display:flex;overflow:hidden;height:calc(100vh - var(--nav-height) - var(--footer-height));position:relative}.app-layout__bg-blob{position:fixed;border-radius:50%;filter:blur(140px);opacity:.1;z-index:0;pointer-events:none}.app-layout__bg-blob--1{width:500px;height:500px;background:#4d5bce;top:-100px;left:-100px;animation:blobFloat1 12s ease-in-out infinite}.app-layout__bg-blob--2{width:400px;height:400px;background:#3c9d93;bottom:-80px;right:-60px;animation:blobFloat2 10s ease-in-out infinite}.app-layout__bg-blob--3{width:350px;height:350px;background:#c98bdf;top:50%;left:50%;transform:translate(-50%,-50%);animation:blobFloat3 14s ease-in-out infinite}@keyframes blobFloat1{0%,to{transform:translate(0) scale(1)}33%{transform:translate(40px,30px) scale(1.1)}66%{transform:translate(-20px,50px) scale(.95)}}@keyframes blobFloat2{0%,to{transform:translate(0) scale(1)}33%{transform:translate(-30px,-40px) scale(1.05)}66%{transform:translate(20px,-20px) scale(.9)}}@keyframes blobFloat3{0%,to{transform:translate(-50%,-50%) scale(1)}50%{transform:translate(-50%,-50%) scale(1.15)}}.navbar{display:flex;align-items:stretch;height:var(--nav-height);border-bottom:1px solid var(--border-primary);background:var(--glass-bg-strong);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);position:relative;z-index:10}.navbar__logo{display:flex;align-items:center;padding:0 20px;border-right:1px solid var(--border-primary);color:var(--text-secondary);font-size:14px;min-width:200px;white-space:nowrap;transition:color var(--transition-fast)}.navbar__logo:hover{color:var(--text-primary)}.navbar__tabs{display:flex;flex:1}.navbar__tab{display:flex;align-items:center;padding:0 24px;font-size:13px;color:var(--text-secondary);border-right:1px solid var(--border-primary);border-bottom:2px solid transparent;transition:all var(--transition-fast);position:relative;white-space:nowrap}.navbar__tab:hover{color:var(--text-primary);background:#1a2a3a80}.navbar__tab--active{color:var(--text-primary);border-bottom-color:var(--accent-primary)}.navbar__tab--right{margin-left:auto;border-right:none;border-left:1px solid var(--border-primary)}.footer{display:flex;align-items:center;justify-content:space-between;height:var(--footer-height);border-top:1px solid var(--border-primary);background:var(--glass-bg-strong);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);padding:0 16px;font-size:13px;position:relative;z-index:10}.footer__left{display:flex;align-items:center;gap:8px}.footer__label{color:var(--text-secondary)}.footer__social-link{display:flex;align-items:center;justify-content:center;width:36px;height:var(--footer-height);color:var(--text-secondary);border-left:1px solid var(--border-primary);transition:color var(--transition-fast);font-size:16px}.footer__social-link:hover{color:var(--text-primary)}.footer__right{display:flex;align-items:center;gap:8px}.footer__github{display:flex;align-items:center;gap:8px;color:var(--text-secondary);border-left:1px solid var(--border-primary);padding-left:16px;height:100%;transition:color var(--transition-fast);font-size:13px}.footer__github:hover{color:var(--text-primary)}.footer__github svg{font-size:18px}.sidebar{width:var(--sidebar-width);min-width:var(--sidebar-width);border-right:1px solid var(--border-primary);background:var(--glass-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);overflow-y:auto;display:flex;flex-direction:column;position:relative;z-index:2}.sidebar__header{display:flex;align-items:center;gap:8px;padding:10px 16px;font-size:13px;color:var(--text-primary);border-bottom:1px solid var(--border-primary);cursor:pointer;transition:background-color var(--transition-fast)}.sidebar__header:hover{background:#1a2a3a80}.sidebar__header svg{font-size:10px;transition:transform var(--transition-fast)}.sidebar__header--open svg{transform:rotate(90deg)}.file-tree{padding:8px 0}.file-tree__item{display:flex;align-items:center;gap:8px;padding:4px 16px 4px 24px;font-size:13px;color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast)}.file-tree__item:hover{background:#1a2a3a80;color:var(--text-primary)}.file-tree__item--active{color:var(--text-primary)}.file-tree__item--folder{padding-left:16px}.file-tree__item--nested{padding-left:40px}.file-tree__item--deep{padding-left:56px}.file-tree__icon{font-size:14px;flex-shrink:0}.file-tree__icon--folder{color:var(--text-orange)}.file-tree__icon--file{color:var(--text-secondary)}.file-tree__icon--mail{color:var(--text-blue)}.file-tree__icon--phone{color:var(--text-green)}.code-editor{flex:1;display:flex;flex-direction:column;overflow:hidden}.code-editor__tabs{display:flex;border-bottom:1px solid var(--border-primary);min-height:36px}.code-editor__tab{display:flex;align-items:center;gap:16px;padding:0 16px;font-size:13px;color:var(--text-secondary);border-right:1px solid var(--border-primary);cursor:pointer;transition:all var(--transition-fast)}.code-editor__tab--active{color:var(--text-primary)}.code-editor__tab-close{font-size:10px;opacity:0;transition:opacity var(--transition-fast)}.code-editor__tab:hover .code-editor__tab-close{opacity:1}.code-editor__content{flex:1;overflow-y:auto;padding:20px 0}.code-editor__lines{display:flex}.code-editor__line-numbers{display:flex;flex-direction:column;padding:0 16px;text-align:right;color:var(--text-muted);font-size:14px;line-height:1.8;-webkit-user-select:none;user-select:none;min-width:50px}.code-editor__code{flex:1;padding:0 16px;font-size:14px;line-height:1.8;color:var(--text-secondary)}.snippet-section{width:380px;min-width:380px;border-left:1px solid var(--border-primary);padding:20px;overflow-y:auto;background:var(--glass-bg-light);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur)}.snippet-section__title{font-size:13px;color:var(--text-muted);margin-bottom:20px}.snippet-card{background:var(--glass-bg);border:1px solid var(--border-primary);border-radius:var(--radius-md);margin-bottom:16px;overflow:hidden;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.snippet-card__header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px}.snippet-card__user{display:flex;align-items:center;gap:10px}.snippet-card__avatar{width:32px;height:32px;border-radius:50%;background:var(--accent-gradient);display:flex;align-items:center;justify-content:center;font-size:14px;color:var(--text-primary)}.snippet-card__name{font-size:13px;color:var(--accent-secondary);font-weight:500}.snippet-card__date{font-size:11px;color:var(--text-muted)}.snippet-card__meta{display:flex;align-items:center;gap:12px;font-size:12px;color:var(--text-muted)}.snippet-card__meta-item{display:flex;align-items:center;gap:4px}.snippet-card__code{padding:16px;font-size:12px;line-height:1.6;background:#0a1a2e99;border-top:1px solid var(--border-primary);overflow-x:auto}.hello-page{flex:1;display:flex;align-items:center;justify-content:center;gap:70px;position:relative;overflow:hidden;padding:40px 60px}.hello-page__content{position:relative;z-index:2;max-width:520px;flex-shrink:0}.hello-page__greeting{font-size:16px;color:var(--text-secondary);margin-bottom:8px;font-weight:400}.hello-page__name{font-size:58px;font-weight:400;color:var(--text-primary);line-height:1.1;margin-bottom:12px;letter-spacing:-1px}.hello-page__title{font-size:20px;color:var(--text-accent);margin-bottom:60px;display:flex;align-items:center;gap:8px}.hello-page__title span{color:var(--text-purple)}.hello-page__cursor{display:inline-block;width:2px;height:22px;background:var(--text-primary);animation:blink 1s infinite;vertical-align:middle;margin-left:4px}@keyframes blink{0%,50%{opacity:1}51%,to{opacity:0}}.hello-page__comment{font-size:14px;color:var(--syntax-comment);margin-bottom:4px}.hello-page__link{font-size:14px}.hello-page__link .keyword{color:var(--syntax-keyword)}.hello-page__link .variable{color:var(--syntax-variable)}.hello-page__link .operator{color:var(--text-primary)}.hello-page__link a{color:var(--text-pink);transition:opacity var(--transition-fast)}.hello-page__link a:hover{opacity:.8;text-decoration:underline}.hello-page__snippets{position:relative;z-index:2;width:420px;min-width:360px;height:calc(100vh - var(--nav-height) - var(--footer-height) - 80px);max-height:600px;overflow:hidden;mask-image:linear-gradient(to bottom,transparent 0%,black 12%,black 88%,transparent 100%);-webkit-mask-image:linear-gradient(to bottom,transparent 0%,black 12%,black 88%,transparent 100%);align-self:center}.hello-page__snippets-track{display:flex;flex-direction:column;gap:36px;transition:transform .8s cubic-bezier(.4,0,.2,1)}.floating-snippet{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--radius-md);padding:16px 20px;font-size:12px;line-height:1.6;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);box-shadow:0 0 12px 2px #00000026,inset 0 1px #ffffff0a;transition:all var(--transition-normal);flex-shrink:0;opacity:.5}.floating-snippet__lang{font-size:10px;text-transform:uppercase;letter-spacing:1.5px;color:var(--text-orange);margin-bottom:8px;padding-bottom:6px;border-bottom:1px solid rgba(30,45,61,.4);font-weight:500}.floating-snippet--active{opacity:1;border-color:#4d5bce66;box-shadow:0 0 20px 5px #4d5bce1f,0 0 40px 10px #4d5bce0f,inset 0 1px #ffffff0f}.floating-snippet:hover{border-color:#4d5bce4d;box-shadow:0 0 16px 4px #4d5bce1a,inset 0 1px #ffffff0f}.floating-snippet pre{margin:0;white-space:pre-wrap;word-break:break-word;color:var(--text-secondary);font-family:var(--font-mono);font-size:12px}.about-page{flex:1;display:flex;overflow:hidden}.about-sidebar{display:flex;flex-direction:column;border-right:1px solid var(--border-primary);background:var(--glass-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur)}.about-sidebar__icons{display:flex;flex-direction:column;align-items:center;gap:4px;padding:10px 8px;border-right:1px solid var(--border-primary);width:48px}.about-sidebar__icon{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:var(--radius-sm);color:var(--text-muted);font-size:18px;cursor:pointer;transition:all var(--transition-fast);opacity:.5}.about-sidebar__icon:hover,.about-sidebar__icon--active{color:var(--text-primary);opacity:1}.about-page__main{display:flex;flex:1;overflow:hidden}.projects-page{flex:1;display:flex;overflow:hidden}.projects-sidebar{width:var(--sidebar-width);min-width:var(--sidebar-width);border-right:1px solid var(--border-primary);overflow-y:auto;background:var(--glass-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur)}.projects-filter{padding:10px 16px}.projects-filter__item{display:flex;align-items:center;gap:12px;padding:6px 0;font-size:13px;color:var(--text-secondary);cursor:pointer;transition:color var(--transition-fast)}.projects-filter__item:hover{color:var(--text-primary)}.projects-filter__checkbox{width:18px;height:18px;border:2px solid var(--text-muted);border-radius:3px;display:flex;align-items:center;justify-content:center;transition:all var(--transition-fast);flex-shrink:0}.projects-filter__checkbox--checked{background-color:var(--text-muted);border-color:var(--text-muted)}.projects-filter__checkbox--checked svg{color:var(--bg-primary);font-size:12px}.projects-filter__icon{font-size:16px}.projects-content{flex:1;overflow-y:auto}.projects-content__tabs{display:flex;border-bottom:1px solid var(--border-primary);min-height:36px}.projects-content__tab{display:flex;align-items:center;gap:16px;padding:0 16px;font-size:13px;color:var(--text-secondary);border-right:1px solid var(--border-primary)}.projects-content__tab-close{font-size:10px;cursor:pointer}.projects-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:24px;padding:32px}.project-card{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--radius-md);overflow:hidden;transition:all var(--transition-normal);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.project-card:hover{border-color:#4d5bce4d;transform:translateY(-2px);box-shadow:0 0 20px 5px #4d5bce14,0 8px 24px #0003}.project-card__label{padding:12px 16px 0;font-size:13px}.project-card__label-name{color:var(--text-accent);font-weight:500}.project-card__label-desc{color:var(--text-muted);margin-left:8px}.project-card__image-wrapper{padding:12px 16px;position:relative}.project-card__image{width:100%;height:160px;border-radius:var(--radius-md);object-fit:cover;border:1px solid var(--border-primary)}.project-card__tech-badge{position:absolute;top:20px;right:24px;width:28px;height:28px;border-radius:50%;background:#011627cc;display:flex;align-items:center;justify-content:center;font-size:14px;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.project-card__description{padding:0 16px;font-size:13px;color:var(--text-secondary);line-height:1.5;margin-bottom:16px}.project-card__button{margin:0 16px 16px;padding:8px 16px;font-size:13px;color:var(--text-primary);background:#1e2d3d99;border:1px solid var(--border-primary);border-radius:var(--radius-sm);display:inline-block;transition:all var(--transition-fast);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.project-card__button:hover{background:#263b5099;border-color:#4d5bce4d}.contact-page{flex:1;display:flex;overflow:hidden}.contact-sidebar{width:var(--sidebar-width);min-width:var(--sidebar-width);border-right:1px solid var(--border-primary);overflow-y:auto;background:var(--glass-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur)}.contact-main{flex:1;display:flex;overflow:hidden}.contact-form-section{flex:1;display:flex;align-items:center;justify-content:center;padding:40px;border-right:1px solid var(--border-primary)}.contact-form{width:100%;max-width:400px}.contact-form__group{margin-bottom:20px}.contact-form__label{display:block;font-size:13px;color:var(--text-secondary);margin-bottom:8px}.contact-form__input,.contact-form__textarea{width:100%;padding:10px 14px;font-size:14px;color:var(--text-primary);background:var(--glass-bg-light);border:1px solid var(--glass-border);border-radius:var(--radius-md);transition:border-color var(--transition-fast);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.contact-form__input:focus,.contact-form__textarea:focus{border-color:#4d5bce66;box-shadow:0 0 12px 2px #4d5bce14}.contact-form__textarea{min-height:120px;resize:vertical}.contact-form__submit{padding:10px 20px;font-size:13px;color:var(--text-primary);background:#1e2d3d99;border:1px solid var(--glass-border);border-radius:var(--radius-md);transition:all var(--transition-fast);margin-top:8px;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.contact-form__submit:hover{background:#263b5099;border-color:#4d5bce4d}.contact-code-section{flex:1;padding:40px;overflow-y:auto}.contact-code{font-size:14px;line-height:1.8}.contact-code__line{display:flex}.contact-code__number{width:40px;text-align:right;color:var(--text-muted);margin-right:24px;-webkit-user-select:none;user-select:none}.not-found-page{flex:1;display:flex;align-items:center;justify-content:center;padding:40px;gap:80px}.not-found-page__art{font-size:120px;font-weight:700;color:var(--text-muted);letter-spacing:-4px;text-shadow:0 0 40px rgba(96,123,150,.3);line-height:1}.not-found-page__code{font-size:14px;line-height:1.8}.not-found-page__code-line{display:flex}.not-found-page__line-number{width:40px;text-align:right;color:var(--text-muted);margin-right:24px;-webkit-user-select:none;user-select:none}@media(max-width:1200px){.snippet-section{width:280px;min-width:280px}.hello-page__snippets{width:320px;min-width:280px}}@media(max-width:900px){.hello-page{padding:30px 40px}.hello-page__name{font-size:40px}.hello-page__snippets{display:none}.hello-page{justify-content:flex-start}.snippet-section{display:none}.sidebar,.projects-sidebar,.contact-sidebar{width:200px;min-width:200px}.not-found-page{flex-direction:column;gap:40px}}@media(max-width:600px){.navbar__logo{min-width:auto;padding:0 12px;font-size:12px}.navbar__tab{padding:0 12px;font-size:11px}.hello-page{padding:20px}.hello-page__name{font-size:30px}.sidebar,.projects-sidebar,.contact-sidebar,.about-sidebar,.contact-code-section{display:none}.projects-grid{padding:16px;grid-template-columns:1fr}}
