@import"https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,400;0,500;0,600;0,700&display=swap";*{margin:0;padding:0;box-sizing:border-box;scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}:root,html[data-theme=dark]{--bg: #050506;--bg-elevated: #0c0c0e;--bg-secondary: #121216;--text: #f5f5f7;--text-secondary: rgba(235, 235, 245, .62);--text-tertiary: rgba(235, 235, 245, .42);--border: rgba(255, 255, 255, .14);--border-strong: rgba(255, 255, 255, .28);--nav-bg: rgba(8, 8, 10, .62);--nav-border: rgba(255, 255, 255, .1);--glass-fill: rgba(255, 255, 255, .1);--glass-fill-strong: rgba(255, 255, 255, .16);--glass-border: rgba(255, 255, 255, .32);--glass-highlight: rgba(255, 255, 255, .45);--glass-shadow: 0 12px 40px rgba(0, 0, 0, .45);--glass-panel-bg: rgba(10, 10, 14, .55);--glass-panel-border: rgba(255, 255, 255, .14);--glass-panel-border-hover: rgba(255, 255, 255, .24);--glass-panel-shadow: 0 1px 0 rgba(255, 255, 255, .08) inset, 0 8px 24px rgba(0, 0, 0, .3);--glass-panel-shadow-hover: 0 1px 0 rgba(255, 255, 255, .12) inset, 0 12px 28px rgba(0, 0, 0, .36);--glass-panel-inset: none;--glass-panel-shine: linear-gradient( 160deg, rgba(255, 255, 255, .1) 0%, transparent 40% );--glass-panel-blur: 0px;--glass-panel-sat: 100%;--btn-primary-bg: #f4f4f5;--btn-primary-text: #0a0a0c;--btn-ghost-border: rgba(255, 255, 255, .2);--muted: #71717a;--grid-line: rgba(180, 180, 200, .2);--canvas-bg: #050506;--bolt: 255, 255, 255;--input-bg: rgba(255, 255, 255, .07);--input-focus-bg: rgba(255, 255, 255, .1);--chip-bg: rgba(255, 255, 255, .08);--selection: rgba(255, 255, 255, .2);--scrollbar: rgba(255, 255, 255, .18);--media-bg: rgba(0, 0, 0, .35);--hover-border: rgba(255, 255, 255, .22);--focus-ring: rgba(255, 255, 255, .12);--focus-border: rgba(255, 255, 255, .32);--divider: rgba(255, 255, 255, .12);--list-item-bg: rgba(0, 0, 0, .22);--avatar-bg: #f5f5f7;--avatar-text: #0a0a0c;--timeline-dot: #f5f5f7;--timeline-dot-ring: #050506;--link-underline: rgba(255, 255, 255, .7);--success: #34c759;--success-text: #86efac;--success-bg: rgba(52, 199, 89, .15);--success-border: rgba(52, 199, 89, .35);--danger-text: #fca5a5;--danger-bg: rgba(255, 69, 58, .12);--danger-border: rgba(255, 69, 58, .28);--warning-text: #fde68a;--warning-bg: rgba(251, 191, 36, .12);--warning-border: rgba(251, 191, 36, .35);--code-bg: rgba(0, 0, 0, .28);--hero-glow: rgba(255, 255, 255, .07);--about-glow: rgba(255, 255, 255, .1);color-scheme:dark}html[data-theme=light]{--bg: #f2f2f7;--bg-elevated: #ffffff;--bg-secondary: #e5e5ea;--text: #1c1c1e;--text-secondary: rgba(60, 60, 67, .72);--text-tertiary: rgba(60, 60, 67, .48);--border: rgba(60, 60, 67, .12);--border-strong: rgba(60, 60, 67, .22);--nav-bg: rgba(255, 255, 255, .72);--nav-border: rgba(60, 60, 67, .1);--glass-fill: rgba(255, 255, 255, .62);--glass-fill-strong: rgba(255, 255, 255, .78);--glass-border: rgba(255, 255, 255, .88);--glass-highlight: rgba(255, 255, 255, .95);--glass-shadow: 0 1px 0 rgba(255, 255, 255, .8) inset, 0 8px 28px rgba(15, 23, 42, .08), 0 2px 8px rgba(15, 23, 42, .04);--glass-panel-bg: rgba(255, 255, 255, .62);--glass-panel-border: rgba(60, 60, 67, .12);--glass-panel-border-hover: rgba(60, 60, 67, .2);--glass-panel-shadow: 0 1px 0 rgba(255, 255, 255, .9) inset, 0 8px 20px rgba(15, 23, 42, .07);--glass-panel-shadow-hover: 0 1px 0 rgba(255, 255, 255, 1) inset, 0 12px 24px rgba(15, 23, 42, .09);--glass-panel-inset: none;--glass-panel-shine: linear-gradient( 160deg, rgba(255, 255, 255, .45) 0%, transparent 38% );--glass-panel-blur: 0px;--glass-panel-sat: 100%;--btn-primary-bg: #1c1c1e;--btn-primary-text: #f5f5f7;--btn-ghost-border: rgba(60, 60, 67, .18);--muted: #8e8e93;--grid-line: rgba(60, 60, 67, .1);--canvas-bg: #e8e8ed;--bolt: 90, 100, 130;--input-bg: rgba(255, 255, 255, .85);--input-focus-bg: #ffffff;--chip-bg: rgba(120, 120, 128, .1);--selection: rgba(0, 122, 255, .22);--scrollbar: rgba(60, 60, 67, .28);--media-bg: rgba(120, 120, 128, .12);--hover-border: rgba(60, 60, 67, .22);--focus-ring: rgba(0, 122, 255, .16);--focus-border: rgba(0, 122, 255, .45);--divider: rgba(60, 60, 67, .14);--list-item-bg: rgba(120, 120, 128, .08);--avatar-bg: #1c1c1e;--avatar-text: #f5f5f7;--timeline-dot: #1c1c1e;--timeline-dot-ring: #f2f2f7;--link-underline: rgba(28, 28, 30, .55);--success: #34c759;--success-text: #1a7f37;--success-bg: rgba(52, 199, 89, .14);--success-border: rgba(52, 199, 89, .32);--danger-text: #d70015;--danger-bg: rgba(255, 59, 48, .1);--danger-border: rgba(255, 59, 48, .28);--warning-text: #9a6700;--warning-bg: rgba(255, 204, 0, .16);--warning-border: rgba(255, 179, 0, .4);--code-bg: rgba(120, 120, 128, .14);--hero-glow: rgba(0, 122, 255, .06);--about-glow: rgba(0, 122, 255, .05);color-scheme:light}:root{--crystal-radius: 20px;--blur: 32px;--ease-ios: cubic-bezier(.32, .72, 0, 1);--font: -apple-system, BlinkMacSystemFont, "SF Pro Display", "Inter", system-ui, sans-serif}html{scroll-behavior:smooth}body{background-color:var(--bg);color:var(--text);font-family:var(--font);overflow-x:hidden;min-height:100vh;letter-spacing:-.01em;transition:background-color .35s ease,color .35s ease}#root{position:relative;z-index:1;min-height:100vh}.container{max-width:1100px;margin:0 auto;padding:0 22px;width:100%}.glass{position:relative;overflow:hidden;border-radius:var(--crystal-radius);background:var(--glass-panel-bg);backdrop-filter:none!important;-webkit-backdrop-filter:none!important;border:1px solid var(--glass-panel-border);box-shadow:var(--glass-panel-shadow)}.glass:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;pointer-events:none;background:var(--glass-panel-shine);opacity:1;z-index:0}.glass:after{display:none}.glass>*{position:relative;z-index:1}::selection{background:var(--selection);color:var(--text)}::-webkit-scrollbar{width:5px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--scrollbar);border-radius:99px}input::placeholder,textarea::placeholder{color:var(--text-tertiary);opacity:1}input,textarea,select{color:var(--text)}:root,html[data-theme=dark]{--lb-fill: rgba(255, 255, 255, .12);--lb-fill-hover: rgba(255, 255, 255, .18);--lb-fill-active: rgba(255, 255, 255, .22);--lb-border: rgba(255, 255, 255, .28);--lb-border-hover: rgba(255, 255, 255, .42);--lb-text: rgba(245, 245, 247, .92);--lb-text-muted: rgba(245, 245, 247, .62);--lb-spec: rgba(255, 255, 255, .55);--lb-shadow: 0 8px 24px rgba(0, 0, 0, .35), 0 1px 2px rgba(0, 0, 0, .2), inset 0 1px 0 rgba(255, 255, 255, .45), inset 0 -1px 0 rgba(0, 0, 0, .15);--lb-primary-fill: linear-gradient( 180deg, rgba(255, 255, 255, .98) 0%, rgba(230, 230, 235, .92) 100% );--lb-primary-text: #111;--lb-primary-border: rgba(255, 255, 255, .55);--lb-primary-shadow: 0 10px 28px rgba(0, 0, 0, .32), inset 0 1px 1px rgba(255, 255, 255, .95), inset 0 -1px 1px rgba(0, 0, 0, .06);--lb-sale-text: #86efac;--lb-sale-bg: rgba(52, 199, 89, .18);--lb-sale-border: rgba(52, 199, 89, .4);--lb-danger-text: #fca5a5;--lb-danger-bg: rgba(248, 113, 113, .12);--lb-danger-border: rgba(248, 113, 113, .4)}html[data-theme=light]{--lb-fill: rgba(255, 255, 255, .55);--lb-fill-hover: rgba(255, 255, 255, .78);--lb-fill-active: rgba(255, 255, 255, .9);--lb-border: rgba(60, 60, 67, .14);--lb-border-hover: rgba(60, 60, 67, .24);--lb-text: rgba(28, 28, 30, .92);--lb-text-muted: rgba(60, 60, 67, .62);--lb-spec: rgba(255, 255, 255, .95);--lb-shadow: 0 1px 0 rgba(255, 255, 255, .9) inset, 0 6px 18px rgba(15, 23, 42, .08), 0 1px 3px rgba(15, 23, 42, .05);--lb-primary-fill: linear-gradient(180deg, #2c2c2e 0%, #1c1c1e 100%);--lb-primary-text: #f5f5f7;--lb-primary-border: rgba(255, 255, 255, .12);--lb-primary-shadow: 0 8px 20px rgba(28, 28, 30, .2), inset 0 1px 0 rgba(255, 255, 255, .14);--lb-sale-text: #1a7f37;--lb-sale-bg: rgba(52, 199, 89, .14);--lb-sale-border: rgba(52, 199, 89, .32);--lb-danger-text: #d70015;--lb-danger-bg: rgba(255, 59, 48, .1);--lb-danger-border: rgba(255, 59, 48, .32)}.liquid-btn,button.heroBtn,a.heroBtn,button.sendBtn,a.project-btn,a.blog-read,a.blog-article-link,.admin-btn,.theme-toggle,.navBtn,.lang-switch,footer .navLinks a,.contact-links a,.techItem{position:relative;isolation:isolate;overflow:hidden;-webkit-tap-highlight-color:transparent;transition:transform .28s cubic-bezier(.32,.72,0,1),background .28s cubic-bezier(.32,.72,0,1),border-color .28s cubic-bezier(.32,.72,0,1),box-shadow .28s cubic-bezier(.32,.72,0,1),color .28s cubic-bezier(.32,.72,0,1),opacity .28s ease}.liquid-btn:before,button.heroBtn:before,a.heroBtn:before,button.sendBtn:before,a.project-btn:before,.admin-btn:before,.theme-toggle:before,.navBtn:before,.contact-links a:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;pointer-events:none;z-index:0;background:linear-gradient(165deg,var(--lb-spec) 0%,rgba(255,255,255,.12) 18%,transparent 48%);opacity:.45}html[data-theme=light] .liquid-btn:before,html[data-theme=light] button.heroBtn:before,html[data-theme=light] a.heroBtn:before,html[data-theme=light] button.sendBtn:before,html[data-theme=light] a.project-btn:before,html[data-theme=light] .admin-btn:before,html[data-theme=light] .theme-toggle:before,html[data-theme=light] .navBtn:before,html[data-theme=light] .contact-links a:before{opacity:.65}.liquid-btn>*,button.heroBtn>*,a.heroBtn>*,button.sendBtn>*,a.project-btn>*,.admin-btn>*,.theme-toggle>*,.navBtn>*{position:relative;z-index:1}.liquid-btn,button.heroBtn.contactBtn,a.heroBtn.contactBtn,a.project-btn.ghost,a.blog-read,.admin-btn.ghost,.contact-links a{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:999px;border:1px solid var(--lb-border);background:radial-gradient(120% 140% at 30% 0%,rgba(255,255,255,.28) 0%,transparent 50%),var(--lb-fill);backdrop-filter:blur(22px) saturate(180%);-webkit-backdrop-filter:blur(22px) saturate(180%);color:var(--lb-text);box-shadow:var(--lb-shadow);text-decoration:none;font-weight:560;cursor:pointer}.liquid-btn:hover,button.heroBtn.contactBtn:hover,a.heroBtn.contactBtn:hover,a.project-btn.ghost:hover,a.blog-read:hover,.admin-btn.ghost:hover,.contact-links a:hover{background:radial-gradient(120% 140% at 30% 0%,rgba(255,255,255,.38) 0%,transparent 50%),var(--lb-fill-hover);border-color:var(--lb-border-hover);transform:none}.liquid-btn:active,button.heroBtn:active,a.heroBtn:active,button.sendBtn:active,a.project-btn:active,.admin-btn:active{transform:none;opacity:.92}button.heroBtn:not(.contactBtn),a.heroBtn:not(.contactBtn),button.sendBtn,a.project-btn.primary,a.blog-article-link,.admin-btn:not(.ghost):not(.danger){display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:999px;border:1px solid var(--lb-primary-border);background:var(--lb-primary-fill);color:var(--lb-primary-text);box-shadow:var(--lb-primary-shadow);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);cursor:pointer;font-weight:600;text-decoration:none}button.heroBtn:not(.contactBtn):before,a.heroBtn:not(.contactBtn):before,button.sendBtn:before,a.project-btn.primary:before,.admin-btn:not(.ghost):not(.danger):before{opacity:.35}button.heroBtn:not(.contactBtn):hover,a.heroBtn:not(.contactBtn):hover,button.sendBtn:hover,a.project-btn.primary:hover,a.blog-article-link:hover,.admin-btn:not(.ghost):not(.danger):hover{transform:none;filter:brightness(1.04)}.theme-toggle,.navBtn,footer .navBtn{width:38px!important;height:38px!important;border-radius:50%!important;border:1px solid var(--lb-border)!important;background:radial-gradient(100% 100% at 30% 20%,rgba(255,255,255,.35) 0%,transparent 55%),var(--lb-fill)!important;backdrop-filter:blur(18px) saturate(180%)!important;-webkit-backdrop-filter:blur(18px) saturate(180%)!important;box-shadow:var(--lb-shadow)!important;color:var(--lb-text)!important}.theme-toggle:hover,.navBtn:hover,footer .navBtn:hover{background:radial-gradient(100% 100% at 30% 20%,rgba(255,255,255,.45) 0%,transparent 55%),var(--lb-fill-hover)!important;border-color:var(--lb-border-hover)!important;transform:translateY(-1px) scale(1.06)}.theme-toggle svg,.navBtn svg,footer .navBtn svg{color:inherit!important;position:relative;z-index:1}.lang-switch{padding:3px!important;border-radius:999px!important;border:1px solid var(--lb-border)!important;background:radial-gradient(120% 140% at 30% 0%,rgba(255,255,255,.25) 0%,transparent 55%),var(--lb-fill)!important;backdrop-filter:blur(20px) saturate(180%)!important;-webkit-backdrop-filter:blur(20px) saturate(180%)!important;box-shadow:var(--lb-shadow)!important;gap:2px!important}.lang-btn{border:none!important;background:transparent!important;color:var(--lb-text-muted)!important;border-radius:999px!important;padding:6px 10px!important;font-weight:620!important;position:relative;z-index:1}.lang-btn:hover{color:var(--lb-text)!important}.lang-btn.active{color:var(--lb-primary-text)!important;background:var(--lb-primary-fill)!important;box-shadow:var(--lb-primary-shadow)!important;border:1px solid var(--lb-primary-border)!important}footer .navLinks a{padding:7px 12px!important;border-radius:999px!important;border:1px solid var(--lb-border)!important;background:var(--lb-fill)!important;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);color:var(--lb-text-muted)!important;box-shadow:var(--lb-shadow);font-size:12px!important;font-weight:540!important}footer .navLinks a:hover{color:var(--lb-text)!important;border-color:var(--lb-border-hover)!important;background:var(--lb-fill-hover)!important;transform:translateY(-1px)}.techItem,.about-tags span,.project-badge,.sale-pill{border-radius:999px!important;border:1px solid var(--lb-border)!important;background:var(--lb-fill)!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;box-shadow:inset 0 1px #fff3;color:var(--lb-text-muted)!important}html[data-theme=light] .techItem,html[data-theme=light] .about-tags span{box-shadow:inset 0 1px #ffffffb3}.condition{border-radius:999px!important;border:1px solid var(--lb-border)!important;background:var(--lb-fill)!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;box-shadow:var(--lb-shadow)!important}.condition p{color:var(--lb-text-muted)!important}a.project-btn.sale,.sale-pill,.project-badge{border-radius:999px;border:1px solid var(--lb-sale-border)!important;background:radial-gradient(120% 140% at 30% 0%,rgba(255,255,255,.2) 0%,transparent 50%),var(--lb-sale-bg)!important;color:var(--lb-sale-text)!important;box-shadow:0 6px 16px #34c7591f,inset 0 1px #ffffff59;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.admin-btn.danger{border-radius:999px!important;border:1px solid var(--lb-danger-border)!important;background:var(--lb-danger-bg)!important;color:var(--lb-danger-text)!important;box-shadow:var(--lb-shadow);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}button.heroBtn,a.heroBtn{padding:12px 24px!important;font-size:14px!important;min-height:44px}button.sendBtn{width:100%;padding:14px 20px!important;font-size:15px!important;min-height:48px;border:1px solid var(--lb-primary-border)!important}a.project-btn{padding:12px 20px!important;font-size:14px!important;min-height:44px}.admin-btn{padding:10px 18px!important;font-size:13px!important;min-height:40px;border:1px solid var(--lb-border)!important;font-family:inherit;cursor:pointer}.admin-btn.sm{min-height:32px!important;padding:5px 12px!important;font-size:12px!important}.contact-links a{padding:9px 14px!important;font-size:12px!important;min-height:36px}.admin-tab{border-radius:999px!important;border:1px solid var(--lb-border)!important;background:var(--lb-fill)!important;color:var(--lb-text-muted)!important;box-shadow:var(--lb-shadow);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.admin-tab.active{background:var(--lb-primary-fill)!important;color:var(--lb-primary-text)!important;border-color:var(--lb-primary-border)!important;box-shadow:var(--lb-primary-shadow)!important}.homePage{padding-top:96px;position:relative}.section-bg{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:0;overflow:hidden}.aboutSection,.skillsSection,.educationSection,.experienceSection,.portfolioSection,.contactSection{position:relative;overflow:hidden}.aboutSection .container,.skillsSection .container,.educationSection .container,.experienceSection .container,.portfolioSection .container,.contactSection .container{position:relative;z-index:1}.hero{min-height:calc(100vh - 96px);display:flex;align-items:center;justify-content:center;position:relative;padding:48px 0 88px}.hero-glow{position:absolute;width:min(520px,80vw);height:min(520px,80vw);top:48%;left:50%;transform:translate(-50%,-50%);background:radial-gradient(circle,var(--hero-glow) 0%,transparent 68%);border-radius:50%;filter:blur(40px);pointer-events:none;animation:heroBreathe 12s ease-in-out infinite}@keyframes heroBreathe{0%,to{opacity:.5;transform:translate(-50%,-50%) scale(1)}50%{opacity:.85;transform:translate(-50%,-50%) scale(1.06)}}.hero-inner{text-align:center;color:var(--text);display:flex;flex-direction:column;align-items:center}.condition{padding:7px 14px;width:fit-content;margin-bottom:22px;display:inline-flex;align-items:center;gap:8px;border-radius:999px;background:var(--glass-fill);border:1px solid var(--border);backdrop-filter:none;-webkit-backdrop-filter:none}.condition p{color:var(--text-secondary);font-size:12px;font-weight:500;letter-spacing:.04em;text-transform:none;background:transparent}.pulse-dot{width:7px;height:7px;border-radius:50%;background:#34c759;box-shadow:0 0 #34c75973;animation:pulseDot 2.6s ease-in-out infinite}@keyframes pulseDot{0%{box-shadow:0 0 #34c75973}70%{box-shadow:0 0 0 8px #34c75900}to{box-shadow:0 0 #34c75900}}.mainText{font-family:var(--font);line-height:1.08;font-size:clamp(34px,6.5vw,62px);font-weight:700;margin-bottom:12px;color:var(--text);letter-spacing:-.035em}.split-char{display:inline-block;color:var(--text)}.jobName{font-family:var(--font);font-size:clamp(18px,3.2vw,28px);font-weight:500;color:var(--text-secondary);margin-bottom:18px;letter-spacing:-.02em}.litlleInfo{font-size:clamp(15px,2vw,17px);color:var(--text-secondary);max-width:520px;line-height:1.55;padding-top:4px;font-weight:400}.heroBtns{padding-top:36px;display:flex;justify-content:center;flex-wrap:wrap;gap:12px}.heroBtn{font-family:inherit;text-decoration:none;cursor:pointer}.hero-stats{display:flex;gap:12px;margin-top:48px;flex-wrap:wrap;justify-content:center}.stat-chip{display:flex;flex-direction:column;align-items:center;min-width:96px;padding:14px 20px;border-radius:14px;background:var(--glass-panel-bg);border:1px solid var(--border);backdrop-filter:none;-webkit-backdrop-filter:none;box-shadow:var(--glass-panel-shadow)}.stat-chip strong{font-size:24px;font-weight:680;color:var(--text);letter-spacing:-.03em}.stat-chip span{font-size:11px;color:var(--text-tertiary);margin-top:4px;letter-spacing:.02em;text-transform:none;font-weight:500}.sectionTitle{font-family:var(--font);font-size:clamp(28px,4.5vw,40px);font-weight:700;color:var(--text);padding-bottom:18px;text-align:center;letter-spacing:-.03em}.aboutSection{padding:100px 0}.about-bg{background:transparent}.about-grid{display:grid;grid-template-columns:1fr 1.35fr;gap:40px;align-items:center}.about-visual{position:relative;display:flex;justify-content:center}.about-card-glow{display:none}.about-card,.about-card-inner{position:relative;width:100%;max-width:none;padding:0;border-radius:0;text-align:center;background:transparent;border:none;box-shadow:none;overflow:visible}.about-card:before{display:none}.about-avatar{width:84px;height:84px;margin:0 auto 18px;border-radius:50%;display:grid;place-items:center;font-size:26px;font-weight:700;color:var(--avatar-text);background:var(--avatar-bg);letter-spacing:-.03em;box-shadow:var(--glass-shadow),inset 0 1px #ffffff59;position:relative;z-index:1}.about-card h3{font-size:18px;margin-bottom:6px;font-weight:650;letter-spacing:-.02em;position:relative;z-index:1}.about-card>p{color:var(--text-secondary);font-size:13px;margin-bottom:18px;position:relative;z-index:1}.about-tags{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;position:relative;z-index:1}.about-tags span{font-size:11px;padding:5px 11px;border-radius:980px;background:var(--chip-bg);color:var(--text-secondary);border:.5px solid var(--border);font-weight:500;backdrop-filter:none;-webkit-backdrop-filter:none}.about-content{display:flex;flex-direction:column;align-items:flex-start}.about-content .sectionTitle{text-align:left}.infoText{font-size:16px;line-height:1.65;color:var(--text-secondary);padding-bottom:12px;max-width:520px}.experienceSection{padding:100px 0}.timeline{position:relative;max-width:780px;margin:36px auto 0;padding:12px 0}.timeline-line{position:absolute;left:50%;top:0;bottom:0;width:1px;background:var(--divider);transform-origin:top;transform:translate(-50%)}.timeline-item{position:relative;width:50%;padding:0 32px 40px}.timeline-item.left{left:0;text-align:right}.timeline-item.right{left:50%;text-align:left}.timeline-dot{position:absolute;top:18px;width:10px;height:10px;border-radius:50%;background:var(--timeline-dot);border:2px solid var(--timeline-dot-ring);box-shadow:0 0 0 1px var(--border-strong),0 0 10px var(--focus-ring);z-index:2}.timeline-item.left .timeline-dot{right:-5px}.timeline-item.right .timeline-dot{left:-5px}.timeline-card{padding:22px 24px;border-radius:20px;text-align:left;transition:border-color .4s var(--ease-ios),background .4s var(--ease-ios),transform .4s var(--ease-ios)}.timeline-card:hover{border-color:var(--hover-border);transform:translateY(-2px)}.timeline-period{font-size:12px;color:var(--text-tertiary);font-weight:500;letter-spacing:.01em}.timeline-card h3{font-size:17px;margin:8px 0 4px;color:var(--text);font-weight:650;letter-spacing:-.02em}.timeline-card .company{color:var(--text-secondary);font-size:13px;margin-bottom:10px}.timeline-card ul{list-style:none;padding:0}.timeline-card li{font-size:13px;color:var(--text-secondary);line-height:1.55;padding-left:14px;position:relative;margin-bottom:6px}.timeline-card li:before{content:"";position:absolute;left:0;top:8px;width:4px;height:4px;border-radius:50%;background:var(--text-tertiary)}.skillsSection{padding:100px 0 110px}.skills-bg{background:transparent}.skillsBlock{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:20px;align-items:stretch}.skillsBlock>*{min-width:0;height:100%;display:flex}.skillsBlock .lg-skill{width:100%;height:100%;flex:1}.skillsBlock .lg-content,.skillsBlock .skillBox{height:100%}.tilt-card{transform-style:preserve-3d;will-change:transform}.skillBox,.skillBox-inner{padding:0;border-radius:0;color:var(--text);width:100%;min-height:100%;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;background:transparent;border:none;box-shadow:none;position:relative;overflow:visible}.skillBox:before{display:none}.lg-skill{transition:box-shadow .3s ease,border-color .3s ease}.lg-skill:hover{transform:none}.skillLogo{display:flex;align-items:center;justify-content:center;gap:10px;margin-bottom:16px;min-height:48px;transition:transform .5s var(--ease-ios)}.skillLogo-single .skillIcon{font-size:44px}.skillIcon{display:grid;place-items:center;font-size:28px;line-height:1;filter:none}html[data-theme=dark] .skillIcon{filter:none}.skillBox:hover .skillLogo{transform:none}.skillBox h2{font-size:16px;font-weight:650;padding-bottom:8px;letter-spacing:-.02em;position:relative;z-index:1}.skillBox p{font-size:12px;text-align:center;color:var(--text-tertiary);line-height:1.5;position:relative;z-index:1;margin:0;max-width:100%;overflow-wrap:anywhere;word-break:break-word}.portfolioSection{padding:100px 0}.projectInfo.lead{text-align:center;color:var(--text-tertiary);max-width:460px;margin:0 auto 24px;font-size:15px;line-height:1.55}.tabs-wrap{margin-bottom:12px}.MuiButtonBase-root{color:var(--text-tertiary)!important;text-transform:none!important;font-weight:550!important;letter-spacing:-.01em!important;font-family:var(--font)!important}.Mui-selected{color:var(--text)!important}.MuiTabs-indicator{background:var(--text)!important;height:2px!important;border-radius:2px}.porfolioBlock{width:100%;padding-top:28px;display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:18px}.portfolio-cell{min-width:0;height:100%}.portfolio-cell .lg-portfolio{height:100%;transition:border-color .25s ease,box-shadow .25s ease}.portfolio-cell:hover .lg-portfolio{border-color:var(--glass-panel-border-hover);box-shadow:var(--glass-panel-shadow-hover)}.portfolioBox,.portfolioBox-inner{border-radius:0;color:var(--text-secondary);overflow:hidden;background:transparent;border:none;box-shadow:none;height:100%;display:flex;flex-direction:column}.projectData{padding:18px;position:relative;z-index:1}.projectName{font-size:17px;font-weight:650;color:var(--text);padding-bottom:6px;letter-spacing:-.02em;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.projectName a{color:inherit;text-decoration:none}.projectName a:hover{opacity:.85}.sale-pill{font-size:10px;font-weight:650;padding:3px 8px;border-radius:999px;background:var(--success-bg);border:1px solid var(--success-border);color:var(--success-text)}.projectImg-link{display:block}.project-detail-link{display:inline-flex;align-items:center;justify-content:center;padding:8px 14px;border-radius:999px;font-size:13px;font-weight:560;color:var(--text);text-decoration:none;border:1px solid var(--border);background:var(--chip-bg);box-shadow:none;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;transform:none!important;transition:border-color .2s ease,background .2s ease,color .2s ease}.project-detail-link:hover{opacity:1;border-color:var(--border-strong);background:var(--glass-fill-strong);transform:none!important;filter:none!important}.project-detail-link:before{display:none!important}.projectInfo{font-size:13px;font-weight:400;color:var(--text-tertiary);padding-bottom:8px;line-height:1.5;flex:1}.portfolioBox .projectImg{overflow:hidden;width:100%;position:relative;aspect-ratio:16 / 10;background:var(--media-bg);flex-shrink:0}.portfolioBox .projectImg img{width:100%;height:100%;object-fit:cover;display:block;transform:none;transition:opacity .25s ease;filter:none}.portfolioBox:hover .projectImg img{transform:none;opacity:.92}.img-shine{display:none}.technologies{display:flex;flex-wrap:wrap;gap:6px;padding:10px 0 14px}.techItem{padding:4px 10px;background:var(--chip-bg);color:var(--text-secondary);font-size:11px;border-radius:980px;border:1px solid var(--border);letter-spacing:.01em;font-weight:500;transition:border-color .3s ease,color .3s ease}.techItem:hover{border-color:var(--hover-border);color:var(--text)}.source{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:auto;padding-top:4px}.source a{text-decoration:none;color:inherit}.github,.liveLink{cursor:pointer;display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--text-tertiary);transition:color .2s ease;position:relative;font-weight:520;transform:none!important}.github:hover,.liveLink:hover{color:var(--text)}.github:after,.liveLink:after{display:none}.educationSection{padding:100px 0}.edu-bg{background:transparent}.edu-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px;margin-top:20px}.edu-card{padding:26px;border-radius:22px;transition:border-color .4s var(--ease-ios),transform .4s var(--ease-ios)}.edu-card:hover{border-color:var(--hover-border);transform:translateY(-2px)}.edu-period{font-size:12px;color:var(--text-tertiary);font-weight:500}.edu-card h3{font-size:20px;margin:12px 0 6px;font-weight:680;letter-spacing:-.02em}.edu-degree{color:var(--text-secondary);font-size:14px;margin-bottom:8px}.edu-meta{color:var(--text-tertiary);font-size:13px;line-height:1.5}.contactSection{padding:100px 0 120px}.contactSection .container{display:flex;flex-direction:column;align-items:center}.contact-lead{color:var(--text-tertiary);text-align:center;margin-bottom:24px;font-size:15px}.contact-links{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-bottom:32px}.contact-links a{font-size:12px;color:var(--text-secondary);text-decoration:none;padding:9px 14px;border-radius:980px;border:1px solid var(--border);background:var(--glass-fill);backdrop-filter:none;-webkit-backdrop-filter:none;font-weight:500;transition:color .35s var(--ease-ios),border-color .35s var(--ease-ios),background .35s var(--ease-ios)}.contact-links a:hover{background:var(--glass-fill-strong);border-color:var(--hover-border);color:var(--text)}.contactForm,.contactForm-inner{width:100%;max-width:none;border-radius:0;padding:0;position:relative;overflow:visible;background:transparent;border:none;box-shadow:none}.contactForm .rowItem,.contactForm .fulrowItem,.contactForm .sendBtn,.contactForm .form-alert{position:relative;z-index:1}.form-glow{display:none}.row{width:100%;display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding-bottom:16px;position:relative;z-index:1}.rowItem{flex:1;display:flex;flex-direction:column;align-items:stretch}.rowItem label,.fulrowItem label{color:var(--text-tertiary);padding-bottom:7px;font-size:12px;font-weight:550;letter-spacing:.01em;text-transform:none}.rowItem input,.fulrowItem input,.fulrowItem textarea{width:100%;border:1px solid var(--border);background:var(--input-bg);padding:12px 14px;border-radius:12px;color:var(--text);font-size:14px;font-family:inherit;transition:border-color .3s ease,background .3s ease,box-shadow .3s ease;box-shadow:inset 0 1px #fff3}.fulrowItem{width:100%;display:flex;flex-direction:column}.fulrowItem textarea{height:140px;resize:vertical;font-family:inherit}.rowItem input:focus,.fulrowItem input:focus,.fulrowItem textarea:focus{outline:none;border-color:var(--focus-border);background:var(--input-focus-bg);box-shadow:0 0 0 3px var(--focus-ring)}.sendBtn{width:100%;font-family:inherit;cursor:pointer;position:relative;z-index:1}@media (max-width: 900px){.about-grid{grid-template-columns:1fr;gap:32px}.about-content{align-items:center}.about-content .sectionTitle,.infoText{text-align:center}.timeline-line{left:14px}.timeline-item,.timeline-item.left,.timeline-item.right{width:100%;left:0;text-align:left;padding-left:40px;padding-right:0}.timeline-item.left .timeline-dot,.timeline-item.right .timeline-dot{left:10px;right:auto}.skillsBlock{grid-template-columns:repeat(2,1fr)}}@media (max-width: 560px){.homePage{padding-top:80px}.heroBtns{flex-direction:column;width:100%}.heroBtn{width:100%;justify-content:center}.skillsBlock{grid-template-columns:1fr}.skillBox{width:100%;max-width:none}.row{flex-direction:column}.porfolioBlock{grid-template-columns:1fr}.contactForm{padding:24px 16px;border-radius:22px}}@media (prefers-reduced-motion: reduce){.hero-glow,.pulse-dot{animation:none}}.lg-host.glass-panel,.glass-panel{position:relative;width:100%;display:block;overflow:hidden;box-sizing:border-box;background:var(--glass-panel-bg);border:1px solid var(--glass-panel-border);box-shadow:var(--glass-panel-shadow);backdrop-filter:none!important;-webkit-backdrop-filter:none!important;filter:none!important;isolation:auto;transform:none;contain:none;transition:background-color .3s ease,border-color .3s ease,box-shadow .3s ease}.glass-panel-shine{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;pointer-events:none;z-index:0;background:var(--glass-panel-shine);filter:none;-webkit-backdrop-filter:none;backdrop-filter:none}.glass-panel-shine:after{display:none}.lg-content{width:100%;height:100%;box-sizing:border-box;position:relative;z-index:1;color:var(--text);-webkit-font-smoothing:antialiased;filter:none!important}.lg-skill{width:100%;max-width:100%;height:100%}.lg-skill .lg-content{padding:26px 18px;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;min-height:210px;height:100%;text-align:center;box-sizing:border-box}.lg-about{width:100%;max-width:300px;margin:0 auto}.lg-about .lg-content{padding:32px 26px;text-align:center}.lg-portfolio{width:100%;height:100%}.lg-portfolio .lg-content{display:flex;flex-direction:column;height:100%;overflow:hidden;border-radius:inherit}.lg-portfolio .lg-content .projectImg{border-radius:0}.lg-form{width:100%;max-width:640px}.lg-form .lg-content{padding:28px 24px}.lg-card .lg-content{padding:22px 24px}.lg-admin{width:100%;margin-bottom:20px}.lg-admin .lg-content{padding:24px}.lg-skill:hover,.lg-card:hover{box-shadow:var(--glass-panel-shadow-hover);border-color:var(--glass-panel-border-hover)}.lg-portfolio{transform:none!important}.contact-honeypot{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden;opacity:0;pointer-events:none}.form-alert-hint{display:block;margin-top:6px;font-size:12px;opacity:.8}.contactForm input.has-error,.contactForm textarea.has-error{border-color:var(--danger-border)!important}.field-error{display:block;margin-top:6px;font-size:12px;color:var(--danger-text);letter-spacing:0;text-transform:none;font-weight:400}.form-alert{margin-bottom:16px;padding:12px 14px;border-radius:14px;font-size:13px;line-height:1.45;position:relative;z-index:1;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.form-alert-ok{background:var(--success-bg);border:1px solid var(--success-border);color:var(--success-text)}.form-alert-err{background:var(--danger-bg);border:1px solid var(--danger-border);color:var(--danger-text)}.sendBtn:disabled{opacity:.65;cursor:not-allowed;transform:none!important}.send-loading{display:inline-flex;align-items:center;gap:10px}.send-spinner{width:14px;height:14px;border:2px solid color-mix(in srgb,var(--btn-primary-text) 25%,transparent);border-top-color:var(--btn-primary-text);border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.sk{--sk-base: rgba(255, 255, 255, .06);--sk-shine: rgba(255, 255, 255, .12);position:relative;overflow:hidden;background:var(--sk-base);border-radius:8px}html[data-theme=light] .sk{--sk-base: rgba(0, 0, 0, .06);--sk-shine: rgba(255, 255, 255, .55)}.sk:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;transform:translate(-100%);background:linear-gradient(90deg,transparent 0%,var(--sk-shine) 45%,transparent 100%);animation:sk-shimmer 1.35s ease-in-out infinite}@keyframes sk-shimmer{to{transform:translate(100%)}}.sk-line{height:12px;border-radius:6px}.sk-line.sm{height:10px}.sk-line.lg{height:16px}.sk-circle{border-radius:50%}.sk-block{border-radius:14px}.sk-portfolio-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:18px;width:100%}.sk-portfolio-card{border-radius:20px;border:1px solid var(--border, rgba(255, 255, 255, .1));background:var(--glass-panel-bg, rgba(18, 18, 22, .55));overflow:hidden}.sk-portfolio-media{aspect-ratio:16 / 10;border-radius:0}.sk-portfolio-body{padding:18px;display:flex;flex-direction:column;gap:10px}.sk-chips{display:flex;gap:6px;flex-wrap:wrap;margin-top:4px}.sk-chip{width:56px;height:24px;border-radius:999px}.sk-blog-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:18px;width:100%}.sk-blog-card{border-radius:20px;border:1px solid var(--border, rgba(255, 255, 255, .1));background:var(--glass-panel-bg, rgba(18, 18, 22, .55));overflow:hidden}.sk-blog-media{aspect-ratio:16 / 10;border-radius:0}.sk-blog-body{padding:18px;display:flex;flex-direction:column;gap:10px}.sk-detail{max-width:900px;display:flex;flex-direction:column;gap:16px}.sk-detail-hero{aspect-ratio:16 / 9;border-radius:20px;width:100%}.sk-detail-title{width:min(420px,70%);height:28px;border-radius:8px}.sk-detail-lines{display:flex;flex-direction:column;gap:10px}.sk-admin-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:14px}.sk-admin-stat{height:84px;border-radius:12px}.sk-admin-list{display:flex;flex-direction:column;gap:8px}.sk-admin-row{height:56px;border-radius:10px}.sk-admin-form{display:flex;flex-direction:column;gap:12px}.sk-admin-field{height:42px;border-radius:10px}.sk-admin-field.tall{height:96px}.sk-auth{width:100%;max-width:380px;display:flex;flex-direction:column;gap:12px}.sk-auth-logo{width:44px;height:44px;border-radius:12px}.sk-auth-title{width:140px;height:22px}@media (max-width: 900px){.sk-admin-stats{grid-template-columns:repeat(2,1fr)}}@media (max-width: 560px){.sk-portfolio-grid,.sk-blog-grid{grid-template-columns:1fr}}@media (prefers-reduced-motion: reduce){.sk:after{animation:none}}.blogPage{padding-top:110px;padding-bottom:100px;min-height:70vh;position:relative;z-index:1}.blog-hero{padding:20px 0 40px;text-align:center}.blog-title{font-size:clamp(32px,5vw,44px);font-weight:700;letter-spacing:-.03em;color:var(--text);margin:8px 0 12px}.blog-lead{max-width:480px;margin:0 auto;color:var(--text-secondary);font-size:16px;line-height:1.55}.blog-list-section{padding-top:12px}.blog-empty{text-align:center;color:var(--text-tertiary);padding:48px 16px;font-size:15px}.blog-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:18px}.blog-card{display:flex;flex-direction:column;border-radius:0;overflow:hidden;background:transparent;border:none;box-shadow:none}.blog-card-media{display:block;aspect-ratio:16 / 10;overflow:hidden;background:var(--media-bg)}.blog-card-media img{width:100%;height:100%;object-fit:cover;transition:transform .7s cubic-bezier(.32,.72,0,1)}.blog-card:hover .blog-card-media img{transform:scale(1.04)}.blog-card-placeholder{width:100%;height:100%;background:var(--chip-bg)}.blog-card-body{padding:18px;display:flex;flex-direction:column;gap:8px;position:relative;z-index:1;flex:1}.blog-card-date{font-size:12px;color:var(--text-tertiary);font-weight:500}.blog-card-title{font-size:18px;font-weight:650;letter-spacing:-.02em;line-height:1.3}.blog-card-title a{color:var(--text);text-decoration:none;transition:opacity .3s ease}.blog-card-title a:hover{opacity:.8}.blog-card-excerpt{font-size:13px;color:var(--text-secondary);line-height:1.55;flex:1}.blog-card-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:8px;flex-wrap:wrap}.blog-read{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:560;color:var(--text);text-decoration:none}.blog-ext{display:inline-flex;align-items:center;gap:5px;font-size:12px;color:var(--text-secondary);text-decoration:none;font-weight:500}.blog-ext:hover{color:var(--text)}.blog-post-page{padding-top:120px}.blog-article{max-width:720px}.blog-back-link{display:inline-flex;align-items:center;gap:8px;color:var(--text-secondary);text-decoration:none;font-size:13px;font-weight:520;margin-bottom:28px;transition:color .3s ease}.blog-back-link:hover{color:var(--text)}.blog-article-title{font-size:clamp(28px,4.5vw,40px);font-weight:700;letter-spacing:-.03em;color:var(--text);margin:10px 0 14px;line-height:1.15}.blog-article-excerpt{font-size:17px;color:var(--text-secondary);line-height:1.55;margin-bottom:28px}.blog-article-cover{border-radius:22px;overflow:hidden;margin-bottom:32px;aspect-ratio:16 / 9;background:var(--media-bg)}.blog-article-cover img{width:100%;height:100%;object-fit:cover;display:block}.blog-article-body{display:flex;flex-direction:column;gap:16px;margin-bottom:32px}.blog-article-body p{font-size:16px;line-height:1.7;color:var(--text-secondary);white-space:pre-line}.blog-article-link{display:inline-flex;align-items:center;gap:8px;padding:12px 22px;border-radius:980px;background:var(--btn-primary-bg);color:var(--btn-primary-text);text-decoration:none;font-size:14px;font-weight:600;box-shadow:var(--glass-shadow);transition:transform .3s ease,filter .3s ease}.blog-article-link:hover{transform:translateY(-1px);filter:brightness(1.05)}@media (max-width: 560px){.blog-grid{grid-template-columns:1fr}}.projectPage{padding-top:120px;padding-bottom:100px;min-height:70vh;position:relative;z-index:1}.project-layout{max-width:900px}.project-empty{text-align:center;color:var(--text-tertiary);padding:48px 16px}.project-back{display:inline-flex;align-items:center;gap:8px;color:var(--text-secondary);text-decoration:none;font-size:13px;font-weight:520;margin-bottom:28px;transition:color .25s ease}.project-back:hover{color:var(--text)}.project-header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:28px;flex-wrap:wrap}.project-badge{display:inline-block;font-size:11px;font-weight:600;padding:5px 12px;border-radius:999px;background:var(--success-bg);border:1px solid var(--success-border);color:var(--success-text);margin-bottom:10px}.project-title{font-size:clamp(28px,4.5vw,40px);font-weight:700;letter-spacing:-.03em;color:var(--text);margin:0 0 10px;line-height:1.15}.project-lead{font-size:16px;color:var(--text-secondary);line-height:1.55;max-width:560px}.project-price-box{padding:14px 18px;border-radius:16px;background:var(--glass-fill);border:1px solid var(--border);text-align:right;min-width:120px;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);box-shadow:var(--glass-shadow)}.project-price-label{display:block;font-size:11px;color:var(--text-tertiary);margin-bottom:4px}.project-price{font-size:22px;font-weight:700;color:var(--text);letter-spacing:-.02em}.project-gallery-wrap{margin-bottom:28px}.project-gallery{width:100%}.project-gallery-main{width:100%;aspect-ratio:16 / 10;overflow:hidden;background:var(--media-bg)}.project-gallery-main img{width:100%;height:100%;object-fit:cover;display:block}.project-thumbs{display:flex;gap:8px;padding:12px;overflow-x:auto}.project-thumb{flex:0 0 72px;width:72px;height:52px;border-radius:8px;overflow:hidden;border:1px solid var(--border);padding:0;background:var(--media-bg);cursor:pointer;opacity:.65;transition:opacity .25s ease,border-color .25s ease}.project-thumb.active,.project-thumb:hover{opacity:1;border-color:var(--border-strong)}.project-thumb img{width:100%;height:100%;object-fit:cover;display:block}.project-section{margin-bottom:28px}.project-section-title{font-size:18px;font-weight:650;color:var(--text);margin-bottom:12px;letter-spacing:-.02em}.project-video{position:relative;width:100%;aspect-ratio:16 / 9;overflow:hidden;background:var(--media-bg);border-radius:16px}.project-video iframe{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;border:0}.project-desc{display:flex;flex-direction:column;gap:14px}.project-desc p{font-size:15px;line-height:1.7;color:var(--text-secondary);white-space:pre-line;margin:0}.project-tech{display:flex;flex-wrap:wrap;gap:8px}.project-tech .techItem{padding:6px 12px;background:var(--chip-bg);border:1px solid var(--border);border-radius:999px;font-size:12px;color:var(--text-secondary);font-weight:500}.project-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:8px}.project-btn{display:inline-flex;align-items:center;gap:8px;padding:12px 20px;border-radius:999px;font-size:14px;font-weight:600;text-decoration:none;transition:transform .25s ease,background .25s ease}.project-btn.primary{background:var(--btn-primary-bg);color:var(--btn-primary-text)}.project-btn.primary:hover{filter:brightness(1.05);transform:translateY(-1px)}.project-btn.ghost{background:transparent;color:var(--text);border:1px solid var(--border)}.project-btn.ghost:hover{background:var(--glass-fill)}.project-btn.sale{background:var(--success-bg);color:var(--success-text);border:1px solid var(--success-border)}.project-btn.sale:hover{filter:brightness(.98);background:var(--success-bg)}.admin-shell{--admin-sidebar-w: 240px;--admin-bg: #09090b;--admin-surface: #111113;--admin-surface-2: #161618;--admin-line: rgba(255, 255, 255, .07);--admin-line-strong: rgba(255, 255, 255, .12);--admin-text: #f4f4f5;--admin-muted: #71717a;--admin-soft: #a1a1aa;--admin-accent: #fafafa;--admin-radius: 12px;min-height:100vh;position:relative;z-index:2;color:var(--admin-text);background:var(--admin-bg);font-family:var(--font, system-ui, sans-serif)}html[data-theme=light] .admin-shell{--admin-bg: #f4f4f5;--admin-surface: #ffffff;--admin-surface-2: #fafafa;--admin-line: rgba(0, 0, 0, .07);--admin-line-strong: rgba(0, 0, 0, .12);--admin-text: #18181b;--admin-muted: #71717a;--admin-soft: #52525b;--admin-accent: #18181b}.admin-shell--auth{display:grid;place-items:center;padding:24px;min-height:100vh;background:var(--admin-bg)}.admin-auth-card{width:100%;max-width:380px;padding:32px 28px;border-radius:16px;background:var(--admin-surface);border:1px solid var(--admin-line);display:flex;flex-direction:column;gap:14px}.admin-auth-brand,.admin-auth-brand-img{width:42px;height:42px;border-radius:11px;display:grid;place-items:center;font-weight:700;font-size:13px;color:#09090b;background:#fafafa;object-fit:cover}.admin-auth-brand-img{display:block;background:transparent}html[data-theme=light] .admin-auth-brand{color:#fafafa;background:#18181b}.admin-auth-card h1{font-size:20px;font-weight:650;letter-spacing:-.03em;margin:0;color:var(--admin-text)}.admin-auth-card>.admin-muted{margin:-6px 0 2px;color:var(--admin-muted)}.admin-auth-card label{display:flex;flex-direction:column;gap:6px;font-size:12px;font-weight:550;color:var(--admin-muted)}.admin-auth-card input{background:var(--admin-surface-2);border:1px solid var(--admin-line);border-radius:10px;padding:11px 13px;color:var(--admin-text);font-size:14px;font-family:inherit}.admin-auth-card input:focus{outline:none;border-color:var(--admin-line-strong)}.admin-auth-back{text-align:center;color:var(--admin-muted);text-decoration:none;font-size:13px}.admin-auth-back:hover{color:var(--admin-text)}.admin-btn-block{width:100%;margin-top:2px}.admin-sidebar{position:fixed;top:0;left:0;bottom:0;width:var(--admin-sidebar-w);height:100vh;height:100dvh;min-height:100vh;min-height:100dvh;max-height:100vh;max-height:100dvh;z-index:40;display:flex;flex-direction:column;background:var(--admin-surface);border-right:1px solid var(--admin-line);padding:0;margin:0;transform:translate(0);transition:transform .22s ease;overflow:hidden}.admin-sidebar-top{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:18px 16px 16px;flex-shrink:0}.admin-sidebar-brand{display:flex;align-items:center;gap:10px;min-width:0}.admin-sidebar-logo{width:32px;height:32px;border-radius:9px;display:block;object-fit:cover;flex-shrink:0;background:transparent}.admin-sidebar-brand-text strong{display:block;font-size:13px;font-weight:650;letter-spacing:-.02em;color:var(--admin-text);line-height:1.2}.admin-sidebar-brand-text span{display:block;font-size:11px;color:var(--admin-muted);margin-top:1px}.admin-sidebar-close{display:none;border:none;background:var(--admin-surface-2);color:var(--admin-soft);width:30px;height:30px;border-radius:8px;place-items:center;cursor:pointer;font-size:15px}.admin-sidebar-nav{display:flex;flex-direction:column;gap:2px;flex:1 1 auto;min-height:0;padding:4px 10px 12px;overflow-y:auto;overflow-x:hidden}.admin-nav-label{margin:4px 10px 8px;font-size:10px;font-weight:620;letter-spacing:.08em;text-transform:uppercase;color:var(--admin-muted)}.admin-nav-item{position:relative;display:flex;align-items:center;gap:10px;width:100%;border:none;background:transparent;color:var(--admin-soft);padding:9px 12px;border-radius:9px;font-size:13px;font-weight:520;font-family:inherit;cursor:pointer;text-decoration:none;text-align:left;transition:background .15s ease,color .15s ease}.admin-nav-icon{width:20px;height:20px;display:grid;place-items:center;flex-shrink:0;font-size:16px;opacity:.9}.admin-nav-text{flex:1;min-width:0}.admin-nav-item:hover{background:#ffffff0a;color:var(--admin-text)}html[data-theme=light] .admin-nav-item:hover{background:#0000000a}.admin-nav-item.active{background:#ffffff12;color:var(--admin-text);font-weight:600}html[data-theme=light] .admin-nav-item.active{background:#0000000f}.admin-nav-item.active:before{content:"";position:absolute;left:0;top:8px;bottom:8px;width:2px;border-radius:2px;background:var(--admin-accent)}.admin-nav-count{margin-left:auto;font-style:normal;font-size:11px;font-weight:600;min-width:20px;height:20px;padding:0 6px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;background:#ffffff0f;color:var(--admin-muted)}html[data-theme=light] .admin-nav-count{background:#0000000d}.admin-nav-item.active .admin-nav-count{background:#ffffff1a;color:var(--admin-text)}.admin-nav-item--danger:hover{color:#f87171;background:#f8717114}.admin-sidebar-foot{display:flex;flex-direction:column;gap:2px;padding:10px 10px calc(12px + env(safe-area-inset-bottom,0px));border-top:1px solid var(--admin-line);margin-top:auto;flex-shrink:0;background:var(--admin-surface)}.admin-sidebar-backdrop{display:none;position:fixed;top:0;right:0;bottom:0;left:0;z-index:35;border:none;background:#00000080;cursor:pointer}.admin-main{margin-left:var(--admin-sidebar-w);min-height:100vh;display:flex;flex-direction:column;background:var(--admin-bg)}.admin-topbar{position:sticky;top:0;z-index:20;min-height:52px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 24px;background:color-mix(in srgb,var(--admin-bg) 88%,transparent);border-bottom:1px solid var(--admin-line);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.admin-topbar-left{display:flex;align-items:center;gap:10px}.admin-topbar-left h1{font-size:15px;font-weight:650;letter-spacing:-.02em;margin:0;color:var(--admin-text)}.admin-topbar-right{display:flex;align-items:center;gap:8px}.admin-icon-btn{display:none;border:1px solid var(--admin-line);background:var(--admin-surface);color:var(--admin-text);width:34px;height:34px;border-radius:8px;place-items:center;cursor:pointer;font-size:16px}.admin-content{flex:1;padding:22px 24px 48px;max-width:980px;width:100%}.admin-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:14px}.admin-stat-card{border:1px solid var(--admin-line);background:var(--admin-surface);border-radius:var(--admin-radius);padding:14px 14px 12px;text-align:left;cursor:pointer;font-family:inherit;color:inherit;transition:border-color .15s ease}button.admin-stat-card{width:100%}.admin-stat-card:hover{border-color:var(--admin-line-strong)}.admin-stat-label{display:block;font-size:11px;font-weight:550;color:var(--admin-muted);margin-bottom:8px}.admin-stat-value{display:block;font-size:24px;font-weight:700;letter-spacing:-.04em;line-height:1;color:var(--admin-text)}.admin-stat-hint{display:none}.admin-dash-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:10px}.admin-quick-actions{display:flex;flex-wrap:wrap;gap:8px}.admin-card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.admin-card-head h2{margin:0;font-size:13px;font-weight:620;letter-spacing:-.01em;color:var(--admin-text)}.admin-link-btn{border:none;background:none;color:var(--admin-muted);font-size:12px;cursor:pointer;font-family:inherit;padding:0;font-weight:520}.admin-link-btn:hover{color:var(--admin-text)}.admin-list--compact .admin-list-actions{display:none}.admin-card h1,.admin-card h2{font-family:inherit;font-weight:620;color:var(--admin-text)}.admin-card h2{font-size:13px;margin-bottom:12px}.admin-check{flex-direction:row!important;align-items:center!important;gap:10px!important;text-transform:none!important;letter-spacing:normal!important;font-size:13px!important;color:var(--admin-soft)!important;grid-column:1 / -1}.admin-check input{width:auto!important;accent-color:var(--admin-text)}.admin-muted{color:var(--admin-muted);font-size:13px;line-height:1.5;margin:0}.admin-card{background:var(--admin-surface);border:1px solid var(--admin-line);border-radius:var(--admin-radius);padding:16px;margin-bottom:10px;box-shadow:none}.admin-hint{color:#fbbf24;font-size:12px;line-height:1.5;white-space:pre-line;margin:0}.admin-form label{display:flex;flex-direction:column;gap:6px;font-size:12px;font-weight:550;color:var(--admin-muted);text-transform:none;letter-spacing:0}.admin-form input,.admin-form select,.admin-form textarea{background:var(--admin-surface-2);border:1px solid var(--admin-line);border-radius:9px;padding:10px 12px;color:var(--admin-text);font-size:13.5px;font-family:inherit;text-transform:none;letter-spacing:normal}.admin-form input:focus,.admin-form select:focus,.admin-form textarea:focus{outline:none;border-color:var(--admin-line-strong)}.admin-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.admin-category-box{padding:12px;border:1px solid var(--admin-line);border-radius:10px;background:var(--admin-surface-2)}.admin-category-title{margin:0;font-size:12px;font-weight:620;color:var(--admin-text)}.admin-category-row{display:flex;gap:8px;align-items:center}.admin-category-row input{flex:1;min-width:0;background:var(--admin-surface);border:1px solid var(--admin-line);border-radius:9px;padding:10px 12px;color:var(--admin-text);font-size:13px;font-family:inherit}.admin-category-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.admin-category-chip{display:inline-flex;align-items:center;gap:2px;padding:2px 4px;border-radius:999px;border:1px solid var(--admin-line);background:transparent;color:var(--admin-soft);font-size:12px;font-weight:520}.admin-category-chip-name{border:none;background:transparent;color:inherit;cursor:pointer;font:inherit;padding:4px 8px;border-radius:999px}.admin-category-chip-name:hover{color:var(--admin-text)}.admin-category-del{border:none;background:transparent;color:var(--admin-muted);cursor:pointer;font-size:15px;line-height:1;padding:4px 8px;border-radius:999px;font-family:inherit}.admin-category-del:hover:not(:disabled){color:#f87171;background:#f871711a}.admin-category-del:disabled{opacity:.35;cursor:not-allowed}.admin-grid .full{grid-column:1 / -1}.admin-form-actions{display:flex;gap:8px;margin-top:14px;flex-wrap:wrap}.admin-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:8px 14px;border-radius:9px;border:1px solid transparent;background:#fafafa;color:#09090b;font-size:12.5px;font-weight:600;cursor:pointer;text-decoration:none;font-family:inherit;transition:filter .15s ease,background .15s ease,border-color .15s ease}html[data-theme=light] .admin-btn{background:#18181b;color:#fafafa}.admin-btn:hover{filter:brightness(.96)}.admin-btn:disabled{opacity:.5;cursor:not-allowed}.admin-btn.ghost{background:transparent;color:var(--admin-soft);border-color:var(--admin-line)}.admin-btn.ghost:hover{color:var(--admin-text);filter:none;background:#ffffff08;border-color:var(--admin-line-strong)}html[data-theme=light] .admin-btn.ghost:hover{background:#00000008}.admin-btn.danger{background:transparent;color:#f87171;border-color:#f871714d}.admin-btn.danger:hover{background:#f8717114;filter:none}.admin-btn.sm{padding:5px 10px;font-size:12px;min-height:30px;border-radius:8px}.admin-error{color:#f87171;font-size:13px;margin:0}.admin-toast{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:10px 12px;border-radius:10px;font-size:12.5px;margin-bottom:12px;line-height:1.45}.admin-toast--info{background:#ffffff0a;border:1px solid var(--admin-line);color:var(--admin-soft)}.admin-toast--warn{background:#fbbf2414;border:1px solid rgba(251,191,36,.22);color:#fbbf24}.admin-toast-close{border:none;background:transparent;color:inherit;opacity:.7;font-size:16px;cursor:pointer;line-height:1;padding:0 2px;flex-shrink:0}.admin-preview{display:flex;flex-direction:column;align-items:flex-start;gap:10px}.admin-preview img{max-width:240px;max-height:150px;width:100%;object-fit:cover;border-radius:10px;border:1px solid var(--admin-line)}.admin-setup-banner{margin-bottom:12px;padding:12px 14px;border-radius:10px;border:1px solid rgba(251,191,36,.22);background:#fbbf2414;color:#fbbf24;font-size:12.5px;line-height:1.5}.admin-setup-banner strong{display:block;margin-bottom:4px}.admin-setup-banner code{color:var(--admin-text);background:#00000040;padding:1px 5px;border-radius:4px;font-size:11px}.admin-gallery{display:flex;flex-wrap:wrap;gap:8px}.admin-gallery-item{position:relative;width:76px;height:54px;border-radius:8px;overflow:hidden;border:1px solid var(--admin-line);background:var(--admin-surface-2)}.admin-gallery-item img{width:100%;height:100%;object-fit:cover;display:block}.admin-gallery-item .admin-btn{position:absolute;top:3px;right:3px;min-width:22px;padding:1px 5px}.admin-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:6px}.admin-list-item{display:flex;align-items:center;gap:12px;padding:8px 10px;border-radius:10px;border:1px solid var(--admin-line);background:transparent}.admin-list-item:hover{background:#ffffff05}.admin-list-thumb{width:48px;height:36px;border-radius:7px;overflow:hidden;background:var(--admin-surface-2);display:grid;place-items:center;flex-shrink:0;color:var(--admin-muted);font-size:11px}.admin-list-thumb img{width:100%;height:100%;object-fit:cover}.admin-list-meta{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.admin-list-meta strong{font-size:13px;font-weight:600;color:var(--admin-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.admin-list-meta span{font-size:11px;color:var(--admin-muted)}.admin-list-actions{display:flex;gap:6px;flex-shrink:0}.admin-content-tabs{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}.admin-chip-tab{border:1px solid var(--admin-line);background:transparent;color:var(--admin-soft);padding:6px 12px;border-radius:999px;font-size:12px;font-weight:550;font-family:inherit;cursor:pointer}.admin-chip-tab:hover{color:var(--admin-text);border-color:var(--admin-line-strong)}.admin-chip-tab.active{background:#fafafa;color:#09090b;border-color:transparent}html[data-theme=light] .admin-chip-tab.active{background:#18181b;color:#fafafa}.admin-stack{display:flex;flex-direction:column;gap:10px}.admin-nested-card{border:1px solid var(--admin-line);border-radius:10px;padding:12px;background:var(--admin-surface-2)}.admin-nested-card h3{margin:0;font-size:12.5px;font-weight:600;color:var(--admin-text)}.admin-inline-row{display:grid;grid-template-columns:90px 1fr auto;gap:8px;margin-bottom:8px}.admin-inline-row input{background:var(--admin-surface);border:1px solid var(--admin-line);border-radius:8px;padding:9px 11px;color:var(--admin-text);font-size:13px;font-family:inherit}@media (max-width: 1100px){.admin-stats{grid-template-columns:repeat(2,1fr)}.admin-dash-grid{grid-template-columns:1fr}}@media (max-width: 900px){.admin-sidebar{transform:translate(-105%)}.admin-shell.sidebar-open .admin-sidebar{transform:translate(0)}.admin-sidebar-close{display:grid}.admin-sidebar-backdrop{display:block}.admin-main{margin-left:0}.admin-icon-btn{display:grid}.admin-content{padding:14px 12px 36px}.admin-topbar{padding:10px 12px}}@media (max-width: 640px){.admin-grid{grid-template-columns:1fr}.admin-stats{grid-template-columns:1fr 1fr}.admin-list-item{flex-wrap:wrap}.admin-list-actions{width:100%;justify-content:flex-end}.admin-inline-row{grid-template-columns:1fr}}nav{position:fixed;z-index:999;width:100%;padding:14px 0;border-bottom:1px solid var(--nav-border);background:var(--nav-bg);backdrop-filter:blur(24px) saturate(160%);-webkit-backdrop-filter:blur(24px) saturate(160%);transition:padding .35s ease,background .35s ease,border-color .35s ease}nav.scrolled{padding:10px 0}nav .container{display:flex;align-items:center;justify-content:space-between;color:var(--text);position:relative}.logo{cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;gap:10px}.logo-img{width:38px;height:38px;border-radius:11px;object-fit:cover;display:block;flex-shrink:0}.navLinks{display:flex;align-items:center;gap:22px;flex-wrap:wrap;justify-content:center}nav a.a{position:relative;display:inline-block;color:var(--text-secondary);font-size:13.5px;font-weight:520;letter-spacing:-.01em;text-decoration:none;line-height:1.2;padding:4px 0;border:none;background:none;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none;overflow:visible;isolation:auto;transition:color .28s var(--ease-ios, cubic-bezier(.32, .72, 0, 1))}nav a.a:before{display:none!important;content:none!important}nav a.a:after{content:"";position:absolute;left:0;bottom:0;width:0;height:1px;background:var(--text);transition:width .32s var(--ease-ios, cubic-bezier(.32, .72, 0, 1))}nav a.a:hover{color:var(--text);transform:none;background:none;border:none;box-shadow:none;filter:none}nav a.a:hover:after{width:100%}.nav-right{display:flex;align-items:center;gap:8px}.theme-toggle{display:grid;place-items:center;cursor:pointer;padding:0;font:inherit}.theme-toggle svg{font-size:16px;position:relative;z-index:1}.lang-switch{display:flex;align-items:center}.lang-btn{cursor:pointer;font-family:inherit;font-size:11px}.navBtns{display:flex;align-items:center;gap:6px}.navBtn{display:grid;place-items:center;cursor:pointer;padding:0}.navBtn svg{font-size:16px;position:relative;z-index:1}.tooltip-wrapper{position:relative;display:inline-block}.tooltip{position:absolute;bottom:0;left:50%;transform:translate(-50%);background:var(--bg-elevated);border:1px solid var(--border);color:var(--text);padding:5px 10px;border-radius:8px;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .2s ease,transform .2s ease;z-index:10;font-size:11px;box-shadow:var(--glass-shadow);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}html[data-theme=light] nav{background:#ffffffb8;border-bottom-color:#3c3c431a;box-shadow:0 1px #fff9 inset}html[data-theme=light] .tooltip{background:#ffffffeb}.tooltip-wrapper:hover .tooltip{opacity:1;transform:translate(-50%) translateY(40px)}.tooltip-arrow{position:absolute;top:-6px;left:50%;transform:translate(-50%) rotate(180deg);width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;border-top:6px solid var(--bg-elevated)}@media (max-width: 960px){nav .container{padding:0 14px}.navLinks{gap:12px}.navLinks a{font-size:12px}}@media (max-width: 780px){.navLinks{display:none!important}}@media (max-width: 560px){.logo h2{font-size:16px!important}}footer{border-top:1px solid var(--border);padding:36px 0 24px;background:var(--nav-bg);backdrop-filter:blur(22px) saturate(180%);-webkit-backdrop-filter:blur(22px) saturate(180%);position:relative;z-index:1;transition:background .35s ease,border-color .35s ease}html[data-theme=light] footer{background:#ffffffb3;border-top-color:#3c3c431a}footer .footer-top{display:flex;align-items:center;justify-content:space-between;color:var(--text);gap:24px;flex-wrap:wrap}footer .footer-logo-row{display:inline-flex;align-items:center;gap:10px}footer .logo-img{width:36px;height:36px;border-radius:10px;object-fit:cover;display:block;flex-shrink:0}.footerCopy{color:var(--muted);font-size:12px;margin-top:6px}footer .navLinks{display:flex;align-items:center;gap:16px;flex-wrap:wrap}footer .navLinks a{color:var(--muted);font-size:13px;text-decoration:none;transition:color .25s ease}footer .navLinks a:hover{color:var(--text)}footer .navBtns{display:flex;align-items:center;gap:6px}footer .navBtn{border:1px solid var(--border);background:var(--glass-fill);width:38px;height:38px;border-radius:50%;display:grid;place-items:center;cursor:pointer;transition:background .25s ease}footer .navBtn:hover{background:var(--glass-fill-strong)}footer .navBtn svg{color:var(--text-secondary);font-size:15px}footer .navBtn:hover svg{color:var(--text)}.powered{width:100%;text-align:center;padding-top:18px;color:var(--text-tertiary);font-size:12px;-webkit-user-select:none;user-select:none;cursor:default}@media (max-width: 768px){footer .footer-top{flex-direction:column;text-align:center}footer .logo{display:flex;flex-direction:column;align-items:center}}.animated-bg{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;overflow:hidden;background:var(--canvas-bg, #050506);transition:background .35s ease}.scene-canvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;display:block}
