:root{--grad-1: #38bdf8;--grad-2: #6366f1;--grad-3: #a855f7;--radius: 18px;--font-sans: "Inter", system-ui, -apple-system, sans-serif;--font-mono: "JetBrains Mono", monospace;--ease-out: cubic-bezier(.16, 1, .3, 1);--ease-spring: cubic-bezier(.34, 1.56, .64, 1)}[data-theme=dark]{--bg: #05070f;--bg-soft: #0a0f1e;--card: #0d1526;--card-hover: #131d35;--border: #233050;--text: #eff3ff;--text-muted: #93a2c0;--accent: #7dd3fc;--glass-border: rgba(255, 255, 255, .14);--glass-inset: rgba(255, 255, 255, .09);--glass-shadow: 0 22px 60px rgba(2, 5, 15, .55);--glow: 0 22px 55px rgba(99, 102, 241, .22)}[data-theme=light]{--bg: #eef2fb;--bg-soft: #ffffff;--card: #ffffff;--card-hover: #ffffff;--border: #d5dff2;--text: #0b1224;--text-muted: #56638d;--accent: #4f46e5;--glass-border: rgba(15, 23, 42, .1);--glass-inset: rgba(255, 255, 255, .95);--glass-shadow: 0 22px 60px rgba(70, 90, 160, .2);--glow: 0 22px 55px rgba(79, 70, 229, .18)}*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent}html{-webkit-text-size-adjust:100%;text-size-adjust:100%}button,a,input,textarea,select{touch-action:manipulation}button{font-family:inherit;-webkit-font-smoothing:antialiased}html{scroll-behavior:auto}.scroll-progress{position:fixed;top:0;left:0;height:3px;z-index:200;border-radius:0 999px 999px 0;background:linear-gradient(90deg,var(--grad-1),var(--grad-2),var(--grad-3));box-shadow:0 0 14px color-mix(in srgb,var(--grad-2) 65%,transparent)}::-webkit-scrollbar{width:10px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:linear-gradient(180deg,var(--grad-1),var(--grad-3));border-radius:8px}::selection{background:var(--grad-2);color:#fff}body{font-family:var(--font-sans);background:var(--bg);color:var(--text);line-height:1.6;transition:background .3s,color .3s;overflow-x:hidden}.aurora{position:fixed;top:-22%;left:-22%;width:144%;height:144%;z-index:0;pointer-events:none;background:radial-gradient(42% 42% at 8% 6%,color-mix(in srgb,var(--grad-1) 26%,transparent),transparent 72%),radial-gradient(38% 38% at 90% 12%,color-mix(in srgb,var(--grad-3) 22%,transparent),transparent 72%),radial-gradient(42% 42% at 88% 82%,color-mix(in srgb,var(--grad-2) 22%,transparent),transparent 72%),radial-gradient(38% 38% at 6% 88%,color-mix(in srgb,var(--grad-3) 16%,transparent),transparent 72%),radial-gradient(60% 60% at 50% 50%,color-mix(in srgb,var(--grad-2) 10%,transparent),transparent 80%);background-size:160% 160%;animation:auroraShift 22s ease-in-out infinite}@keyframes auroraShift{0%,to{background-position:0% 0%}50%{background-position:100% 100%}}main,.footer,.navbar,.welcome-screen,.scroll-top{position:relative;z-index:1}.container{width:100%;max-width:1540px;margin:0 auto;padding:0 clamp(24px,4vw,56px)}.section{padding:110px 0}.gradient,.gradient-text{background:linear-gradient(120deg,var(--grad-1),var(--grad-2),var(--grad-3));background-size:200% auto;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;animation:gradientShift 6s linear infinite}@keyframes gradientShift{0%,to{background-position:0% center}50%{background-position:100% center}}.reveal{opacity:0;transform:translateY(34px);will-change:opacity,transform;transition:opacity .75s cubic-bezier(.22,.61,.36,1),transform .75s cubic-bezier(.22,.61,.36,1)}.reveal-left{transform:translate(-56px)}.reveal-right{transform:translate(56px)}.reveal-up{transform:translateY(64px)}.reveal-zoom{transform:scale(.85)}.reveal.reveal-visible{opacity:1;transform:none}.rise{opacity:0;animation:riseUp .85s cubic-bezier(.22,.61,.36,1) forwards}@keyframes riseUp{0%{opacity:0;transform:translateY(32px)}to{opacity:1;transform:none}}.glass{background:linear-gradient(160deg,color-mix(in srgb,var(--card) 62%,transparent),color-mix(in srgb,var(--card) 88%,transparent));backdrop-filter:blur(20px) saturate(150%);-webkit-backdrop-filter:blur(20px) saturate(150%);border:1px solid var(--glass-border);box-shadow:inset 0 1px 0 var(--glass-inset),var(--glass-shadow)}.welcome-screen{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:22px;background:color-mix(in srgb,var(--bg) 72%,transparent);backdrop-filter:blur(24px) saturate(150%);-webkit-backdrop-filter:blur(24px) saturate(150%);opacity:1;transition:opacity .6s ease,visibility .6s ease,transform .6s ease}.welcome-screen.hide{opacity:0;visibility:hidden;pointer-events:none;transform:scale(1.06)}.welcome-logo{display:flex;align-items:center;gap:14px;animation:welcomeZoom .9s ease both}.welcome-logo .brand-dot{width:16px;height:16px;animation:spinSlow 3s linear infinite}.welcome-logo h1{font-size:clamp(1.7rem,5vw,2.5rem);font-weight:900;letter-spacing:-.02em;background:linear-gradient(120deg,var(--grad-1),var(--grad-2),var(--grad-3));background-size:200% auto;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;animation:gradientShift 3s linear infinite,welcomeIn .9s ease both}.welcome-text{color:var(--text-muted);font-size:clamp(1rem,2.5vw,1.2rem);animation:welcomeIn .9s ease .25s both}.welcome-loader{display:flex;gap:9px;padding:14px 22px;border-radius:999px;background:linear-gradient(160deg,color-mix(in srgb,var(--card) 55%,transparent),color-mix(in srgb,var(--card) 80%,transparent));backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid var(--glass-border);animation:welcomeIn .9s ease .45s both}.welcome-loader span{width:9px;height:9px;border-radius:50%;background:linear-gradient(120deg,var(--grad-1),var(--grad-3));animation:loaderBounce .9s ease-in-out infinite}.welcome-loader span:nth-child(2){animation-delay:.15s}.welcome-loader span:nth-child(3){animation-delay:.3s}@keyframes welcomeIn{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes welcomeZoom{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}@keyframes loaderBounce{0%,to{transform:translateY(0);opacity:.5}50%{transform:translateY(-9px);opacity:1}}@keyframes spinSlow{to{transform:rotate(360deg)}}.navbar{position:fixed;top:18px;left:0;right:0;margin-inline:auto;width:min(1400px,calc(100% - 28px));z-index:100;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 14px;border-radius:999px;background:linear-gradient(160deg,color-mix(in srgb,var(--card) 55%,transparent),color-mix(in srgb,var(--card) 92%,transparent));backdrop-filter:blur(24px) saturate(170%);-webkit-backdrop-filter:blur(24px) saturate(170%);border:1px solid var(--glass-border);box-shadow:inset 0 1px 0 var(--glass-inset),0 18px 52px #02050f6b;transition:border-color .3s,box-shadow .3s}.navbar:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;padding:1px;background:linear-gradient(115deg,color-mix(in srgb,var(--grad-1) 60%,transparent),transparent 26%,transparent 74%,color-mix(in srgb,var(--grad-3) 60%,transparent));-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);mask-composite:exclude;pointer-events:none;opacity:.65}.navbar:hover{border-color:color-mix(in srgb,var(--grad-2) 45%,var(--glass-border));box-shadow:inset 0 1px 0 var(--glass-inset),0 22px 60px #02050f80,0 0 32px color-mix(in srgb,var(--grad-2) 14%,transparent)}.brand{display:flex;align-items:center;gap:12px;padding:6px 22px 6px 8px;border-radius:999px;color:var(--text);text-decoration:none;white-space:nowrap;border:1px solid transparent;background:linear-gradient(120deg,color-mix(in srgb,var(--grad-1) 9%,transparent),color-mix(in srgb,var(--grad-3) 6%,transparent));transition:background .3s,transform .3s,border-color .3s,box-shadow .3s}.brand:hover{transform:translateY(-1px);border-color:color-mix(in srgb,var(--grad-2) 45%,transparent);box-shadow:0 8px 24px color-mix(in srgb,var(--grad-2) 20%,transparent)}.brand-text{font-weight:800;font-size:1.08rem;letter-spacing:-.01em;background:linear-gradient(120deg,var(--text),var(--text));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.navbar .brand-dot{position:relative;width:30px;height:30px;border-radius:50%;flex-shrink:0;display:grid;place-items:center;background:linear-gradient(120deg,var(--grad-1),var(--grad-2),var(--grad-3));background-size:200% auto;animation:gradientShift 4s linear infinite;box-shadow:0 4px 16px color-mix(in srgb,var(--grad-2) 55%,transparent),inset 0 1px #ffffff59}.navbar .brand-dot:after{content:"";width:9px;height:9px;border-radius:50%;background:#fffffff0;box-shadow:0 0 10px #ffffffa6}.nav-divider{width:1px;height:28px;margin:0 2px;flex-shrink:0;background:linear-gradient(180deg,transparent,color-mix(in srgb,var(--glass-border) 90%,transparent),transparent)}.header-bar{flex:1;display:flex;align-items:center;justify-content:space-between;gap:10px;min-width:0}.nav-links{display:flex;gap:4px;padding:4px;border-radius:999px;position:relative;background:color-mix(in srgb,var(--bg-soft) 28%,transparent);border:1px solid color-mix(in srgb,var(--glass-border) 40%,transparent)}.nav-indicator{position:absolute;top:4px;bottom:4px;left:0;border-radius:999px;z-index:0;pointer-events:none;will-change:left,width;background:linear-gradient(120deg,var(--grad-1),var(--grad-2),var(--grad-3));box-shadow:0 6px 22px color-mix(in srgb,var(--grad-2) 55%,transparent);transition:left .65s cubic-bezier(.25,.1,.25,1),width .65s cubic-bezier(.25,.1,.25,1)}.nav-links a{color:var(--text-muted);text-decoration:none;font-weight:600;font-size:.92rem;padding:8px 16px;border-radius:999px;position:relative;z-index:1;display:flex;align-items:center;gap:7px;white-space:nowrap;transition:color .35s,transform .35s}.nav-links .link-dot{width:5px;height:5px;border-radius:50%;background:#ffffffd9;opacity:0;transform:scale(0);transition:opacity .35s,transform .35s}.nav-links a:hover{color:var(--text);transform:translateY(-1px);background:color-mix(in srgb,var(--glass-border) 22%,transparent)}.nav-links a.active{color:#fff;text-shadow:0 1px 8px rgba(255,255,255,.35)}.nav-links a.active .link-dot{opacity:1;transform:scale(1)}.nav-actions{display:flex;align-items:center;gap:8px}.lang-drop{position:relative}.lang-trigger{display:flex;align-items:center;gap:8px;padding:8px 14px;border-radius:999px;background:color-mix(in srgb,var(--bg-soft) 40%,transparent);border:1px solid var(--glass-border);color:var(--text);font-family:inherit;font-size:.85rem;font-weight:600;cursor:pointer;transition:border-color .2s,box-shadow .2s,transform .2s}.lang-trigger:hover{border-color:color-mix(in srgb,var(--grad-2) 60%,var(--glass-border));box-shadow:0 6px 18px #02050f40;transform:translateY(-1px)}.lang-trigger svg.flag{display:block;flex-shrink:0;box-shadow:0 2px 8px #02050f4d}.lang-current{min-width:34px;text-align:left}.lang-trigger .chev{display:flex;color:var(--text-muted);transition:transform .25s}.lang-trigger .chev.open{transform:rotate(180deg)}.lang-menu{position:absolute;right:0;top:calc(100% + 10px);min-width:190px;padding:8px;border-radius:14px;z-index:130;display:flex;flex-direction:column;gap:4px;transform-origin:top right;animation:langIn .28s cubic-bezier(.22,.61,.36,1) both}@keyframes langIn{0%{opacity:0;transform:translateY(-10px) scale(.94)}to{opacity:1;transform:translateY(0) scale(1)}}.lang-menu button{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 14px;border-radius:10px;border:none;background:transparent;color:var(--text-muted);font-family:inherit;font-size:.9rem;font-weight:600;cursor:pointer;transition:background .2s,color .2s}.lang-menu button:hover{background:color-mix(in srgb,var(--glass-border) 45%,transparent);color:var(--text)}.lang-menu button.active{color:var(--accent)}.lang-option{display:flex;align-items:center;gap:10px}.lang-option svg.flag{display:block;flex-shrink:0;box-shadow:0 2px 8px #02050f4d}.lang-menu button svg{flex-shrink:0}.theme-toggle{display:flex;gap:3px;padding:4px 5px;border-radius:999px;background:color-mix(in srgb,var(--bg-soft) 34%,transparent);border:1px solid color-mix(in srgb,var(--glass-border) 70%,transparent)}.theme-toggle button{width:34px;height:34px;display:grid;place-items:center;border-radius:50%;border:none;background:transparent;color:var(--text-muted);cursor:pointer;transition:color .2s,background .2s,box-shadow .2s,transform .2s}.theme-toggle button:hover{transform:scale(1.08);color:var(--text)}.theme-toggle button.active{background:linear-gradient(120deg,var(--grad-1),var(--grad-3));color:#fff;box-shadow:0 4px 16px color-mix(in srgb,var(--grad-2) 45%,transparent),inset 0 1px #ffffff4d}.hamburger{display:none;flex-direction:column;justify-content:center;align-items:center;gap:5px;background:color-mix(in srgb,var(--bg-soft) 40%,transparent);color:var(--text);border:1px solid var(--glass-border);border-radius:12px;width:38px;height:38px;cursor:pointer;transition:transform .2s,border-color .2s}.hamburger:hover{border-color:var(--grad-2);transform:rotate(15deg)}.hamburger span{width:18px;height:2px;background:var(--text);border-radius:2px}.weather-overlay{position:fixed;top:0;right:0;bottom:0;left:0;width:100%;height:100%;z-index:95;pointer-events:none;opacity:0;transition:opacity 1.2s ease}.weather-show .weather-overlay{opacity:1}.weather-menu .lang-option{gap:12px}.weather-menu button.active .lang-option{color:var(--accent)}.sound-toggle{width:40px;height:40px;display:grid;place-items:center;border-radius:50%;background:color-mix(in srgb,var(--bg-soft) 34%,transparent);border:1px solid color-mix(in srgb,var(--glass-border) 70%,transparent);color:var(--text-muted);cursor:pointer;font-size:0;transition:color .2s,background .2s,box-shadow .2s,transform .2s,border-color .2s}.sound-toggle:hover{transform:scale(1.08);color:var(--text);border-color:color-mix(in srgb,var(--grad-2) 45%,var(--glass-border))}.sound-toggle.active{background:linear-gradient(120deg,var(--grad-1),var(--grad-3));color:#fff;border-color:transparent;box-shadow:0 4px 16px color-mix(in srgb,var(--grad-2) 45%,transparent),inset 0 1px #ffffff4d}[data-surface=rain] :is(.stat-card,.skill-card,.project-card,.timeline-card,.marquee-item,.contact-form,.contact-item,.footer,.btn,.social-btn,.badge,.tag,.lang-trigger,.sound-toggle,.theme-toggle button,.hamburger),[data-surface=snow] :is(.stat-card,.skill-card,.project-card,.timeline-card,.marquee-item,.contact-form,.contact-item,.footer,.btn,.social-btn,.badge,.tag,.lang-trigger,.sound-toggle,.theme-toggle button,.hamburger){position:relative}[data-surface=rain] :is(.stat-card,.skill-card,.project-card,.timeline-card,.marquee-item,.code-card,.contact-form,.contact-item,.footer,.btn,.social-btn,.badge,.tag,.hamburger,.lang-trigger,.sound-toggle,.theme-toggle button):before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;z-index:2;pointer-events:none;background-color:color-mix(in srgb,var(--text) 20%,transparent);-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cg fill='%23ffffff'%3E%3Ccircle cx='28' cy='20' r='3.4' fill-opacity='0.5'/%3E%3Ccircle cx='82' cy='14' r='2.2' fill-opacity='0.38'/%3E%3Ccircle cx='150' cy='28' r='3.8' fill-opacity='0.55'/%3E%3Ccircle cx='188' cy='52' r='2.4' fill-opacity='0.4'/%3E%3Ccircle cx='38' cy='74' r='2.8' fill-opacity='0.44'/%3E%3Ccircle cx='96' cy='86' r='4.4' fill-opacity='0.6'/%3E%3Ccircle cx='162' cy='96' r='2.6' fill-opacity='0.4'/%3E%3Ccircle cx='16' cy='140' r='3.4' fill-opacity='0.5'/%3E%3Ccircle cx='66' cy='152' r='2.2' fill-opacity='0.36'/%3E%3Ccircle cx='132' cy='140' r='3.8' fill-opacity='0.55'/%3E%3Ccircle cx='188' cy='164' r='2.6' fill-opacity='0.42'/%3E%3Ccircle cx='44' cy='190' r='3' fill-opacity='0.46'/%3E%3Ccircle cx='110' cy='196' r='3.4' fill-opacity='0.5'/%3E%3Ccircle cx='166' cy='192' r='2.2' fill-opacity='0.36'/%3E%3Ccircle cx='58' cy='34' r='1.6' fill-opacity='0.3'/%3E%3Ccircle cx='128' cy='56' r='1.7' fill-opacity='0.3'/%3E%3Ccircle cx='172' cy='120' r='1.5' fill-opacity='0.28'/%3E%3Ccircle cx='84' cy='176' r='1.8' fill-opacity='0.3'/%3E%3C/g%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cg fill='%23ffffff'%3E%3Ccircle cx='28' cy='20' r='3.4' fill-opacity='0.5'/%3E%3Ccircle cx='82' cy='14' r='2.2' fill-opacity='0.38'/%3E%3Ccircle cx='150' cy='28' r='3.8' fill-opacity='0.55'/%3E%3Ccircle cx='188' cy='52' r='2.4' fill-opacity='0.4'/%3E%3Ccircle cx='38' cy='74' r='2.8' fill-opacity='0.44'/%3E%3Ccircle cx='96' cy='86' r='4.4' fill-opacity='0.6'/%3E%3Ccircle cx='162' cy='96' r='2.6' fill-opacity='0.4'/%3E%3Ccircle cx='16' cy='140' r='3.4' fill-opacity='0.5'/%3E%3Ccircle cx='66' cy='152' r='2.2' fill-opacity='0.36'/%3E%3Ccircle cx='132' cy='140' r='3.8' fill-opacity='0.55'/%3E%3Ccircle cx='188' cy='164' r='2.6' fill-opacity='0.42'/%3E%3Ccircle cx='44' cy='190' r='3' fill-opacity='0.46'/%3E%3Ccircle cx='110' cy='196' r='3.4' fill-opacity='0.5'/%3E%3Ccircle cx='166' cy='192' r='2.2' fill-opacity='0.36'/%3E%3Ccircle cx='58' cy='34' r='1.6' fill-opacity='0.3'/%3E%3Ccircle cx='128' cy='56' r='1.7' fill-opacity='0.3'/%3E%3Ccircle cx='172' cy='120' r='1.5' fill-opacity='0.28'/%3E%3Ccircle cx='84' cy='176' r='1.8' fill-opacity='0.3'/%3E%3C/g%3E%3C/svg%3E");-webkit-mask-size:200px 200px;mask-size:200px 200px;-webkit-mask-repeat:repeat;mask-repeat:repeat;animation:wetShimmer 1.6s ease-out forwards}[data-surface=rain] :is(.stat-card,.skill-card,.project-card,.timeline-card,.marquee-item,.code-card,.contact-form,.contact-item,.footer):after{content:"";position:absolute;top:0;left:0;right:0;height:50%;border-radius:inherit;z-index:2;pointer-events:none;background:linear-gradient(180deg,color-mix(in srgb,#ffffff 13%,transparent),transparent 80%);animation:wetSheen 1.8s ease-out forwards}[data-surface=rain] .navbar:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;z-index:2;pointer-events:none;background:linear-gradient(180deg,color-mix(in srgb,#ffffff 12%,transparent),transparent 45%),color-mix(in srgb,var(--text) 16%,transparent);-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cg fill='%23ffffff'%3E%3Ccircle cx='28' cy='20' r='3.4' fill-opacity='0.5'/%3E%3Ccircle cx='82' cy='14' r='2.2' fill-opacity='0.38'/%3E%3Ccircle cx='150' cy='28' r='3.8' fill-opacity='0.55'/%3E%3Ccircle cx='188' cy='52' r='2.4' fill-opacity='0.4'/%3E%3Ccircle cx='38' cy='74' r='2.8' fill-opacity='0.44'/%3E%3Ccircle cx='96' cy='86' r='4.4' fill-opacity='0.6'/%3E%3Ccircle cx='162' cy='96' r='2.6' fill-opacity='0.4'/%3E%3Ccircle cx='16' cy='140' r='3.4' fill-opacity='0.5'/%3E%3Ccircle cx='66' cy='152' r='2.2' fill-opacity='0.36'/%3E%3Ccircle cx='132' cy='140' r='3.8' fill-opacity='0.55'/%3E%3Ccircle cx='188' cy='164' r='2.6' fill-opacity='0.42'/%3E%3Ccircle cx='44' cy='190' r='3' fill-opacity='0.46'/%3E%3Ccircle cx='110' cy='196' r='3.4' fill-opacity='0.5'/%3E%3Ccircle cx='166' cy='192' r='2.2' fill-opacity='0.36'/%3E%3Ccircle cx='58' cy='34' r='1.6' fill-opacity='0.3'/%3E%3Ccircle cx='128' cy='56' r='1.7' fill-opacity='0.3'/%3E%3Ccircle cx='172' cy='120' r='1.5' fill-opacity='0.28'/%3E%3Ccircle cx='84' cy='176' r='1.8' fill-opacity='0.3'/%3E%3C/g%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cg fill='%23ffffff'%3E%3Ccircle cx='28' cy='20' r='3.4' fill-opacity='0.5'/%3E%3Ccircle cx='82' cy='14' r='2.2' fill-opacity='0.38'/%3E%3Ccircle cx='150' cy='28' r='3.8' fill-opacity='0.55'/%3E%3Ccircle cx='188' cy='52' r='2.4' fill-opacity='0.4'/%3E%3Ccircle cx='38' cy='74' r='2.8' fill-opacity='0.44'/%3E%3Ccircle cx='96' cy='86' r='4.4' fill-opacity='0.6'/%3E%3Ccircle cx='162' cy='96' r='2.6' fill-opacity='0.4'/%3E%3Ccircle cx='16' cy='140' r='3.4' fill-opacity='0.5'/%3E%3Ccircle cx='66' cy='152' r='2.2' fill-opacity='0.36'/%3E%3Ccircle cx='132' cy='140' r='3.8' fill-opacity='0.55'/%3E%3Ccircle cx='188' cy='164' r='2.6' fill-opacity='0.42'/%3E%3Ccircle cx='44' cy='190' r='3' fill-opacity='0.46'/%3E%3Ccircle cx='110' cy='196' r='3.4' fill-opacity='0.5'/%3E%3Ccircle cx='166' cy='192' r='2.2' fill-opacity='0.36'/%3E%3Ccircle cx='58' cy='34' r='1.6' fill-opacity='0.3'/%3E%3Ccircle cx='128' cy='56' r='1.7' fill-opacity='0.3'/%3E%3Ccircle cx='172' cy='120' r='1.5' fill-opacity='0.28'/%3E%3Ccircle cx='84' cy='176' r='1.8' fill-opacity='0.3'/%3E%3C/g%3E%3C/svg%3E");-webkit-mask-size:200px 200px;mask-size:200px 200px;-webkit-mask-repeat:repeat;mask-repeat:repeat;animation:wetShimmer 1.6s ease-out forwards}[data-surface=snow] :is(.stat-card,.skill-card,.project-card,.timeline-card,.marquee-item,.code-card,.contact-form,.contact-item,.footer,.btn,.social-btn,.badge,.tag,.hamburger,.lang-trigger,.sound-toggle,.theme-toggle button):before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;z-index:2;pointer-events:none;background-color:color-mix(in srgb,#cfe3ff 26%,transparent);-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cg fill='%23ffffff'%3E%3Ccircle cx='30' cy='26' r='2.2' fill-opacity='0.4'/%3E%3Ccircle cx='90' cy='70' r='1.6' fill-opacity='0.3'/%3E%3Ccircle cx='160' cy='38' r='2.4' fill-opacity='0.42'/%3E%3Ccircle cx='55' cy='130' r='2' fill-opacity='0.36'/%3E%3Ccircle cx='140' cy='150' r='2.8' fill-opacity='0.45'/%3E%3Ccircle cx='180' cy='110' r='1.6' fill-opacity='0.28'/%3E%3Ccircle cx='20' cy='180' r='2' fill-opacity='0.36'/%3E%3Ccircle cx='115' cy='190' r='2.4' fill-opacity='0.4'/%3E%3Ccircle cx='70' cy='60' r='1.4' fill-opacity='0.28'/%3E%3C/g%3E%3Cg fill='none' stroke='%23ffffff' stroke-width='1.6' stroke-linecap='round'%3E%3Cpath d='M24 18v8M20 22h8' stroke-opacity='0.55'/%3E%3Cpath d='M64 62v8M60 66h8' stroke-opacity='0.5'/%3E%3Cpath d='M156 30v8M152 34h8' stroke-opacity='0.55'/%3E%3Cpath d='M50 124v8M46 128h8' stroke-opacity='0.5'/%3E%3Cpath d='M142 144v8M138 148h8' stroke-opacity='0.55'/%3E%3Cpath d='M174 104v8M170 108h8' stroke-opacity='0.45'/%3E%3Cpath d='M16 174v8M12 178h8' stroke-opacity='0.5'/%3E%3Cpath d='M112 182v8M108 186h8' stroke-opacity='0.45'/%3E%3Cpath d='M92 90v8M88 94h8' stroke-opacity='0.5'/%3E%3Cpath d='M30 136v8M26 140h8' stroke-opacity='0.5'/%3E%3C/g%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cg fill='%23ffffff'%3E%3Ccircle cx='30' cy='26' r='2.2' fill-opacity='0.4'/%3E%3Ccircle cx='90' cy='70' r='1.6' fill-opacity='0.3'/%3E%3Ccircle cx='160' cy='38' r='2.4' fill-opacity='0.42'/%3E%3Ccircle cx='55' cy='130' r='2' fill-opacity='0.36'/%3E%3Ccircle cx='140' cy='150' r='2.8' fill-opacity='0.45'/%3E%3Ccircle cx='180' cy='110' r='1.6' fill-opacity='0.28'/%3E%3Ccircle cx='20' cy='180' r='2' fill-opacity='0.36'/%3E%3Ccircle cx='115' cy='190' r='2.4' fill-opacity='0.4'/%3E%3Ccircle cx='70' cy='60' r='1.4' fill-opacity='0.28'/%3E%3C/g%3E%3Cg fill='none' stroke='%23ffffff' stroke-width='1.6' stroke-linecap='round'%3E%3Cpath d='M24 18v8M20 22h8' stroke-opacity='0.55'/%3E%3Cpath d='M64 62v8M60 66h8' stroke-opacity='0.5'/%3E%3Cpath d='M156 30v8M152 34h8' stroke-opacity='0.55'/%3E%3Cpath d='M50 124v8M46 128h8' stroke-opacity='0.5'/%3E%3Cpath d='M142 144v8M138 148h8' stroke-opacity='0.55'/%3E%3Cpath d='M174 104v8M170 108h8' stroke-opacity='0.45'/%3E%3Cpath d='M16 174v8M12 178h8' stroke-opacity='0.5'/%3E%3Cpath d='M112 182v8M108 186h8' stroke-opacity='0.45'/%3E%3Cpath d='M92 90v8M88 94h8' stroke-opacity='0.5'/%3E%3Cpath d='M30 136v8M26 140h8' stroke-opacity='0.5'/%3E%3C/g%3E%3C/svg%3E");-webkit-mask-size:200px 200px;mask-size:200px 200px;-webkit-mask-repeat:repeat;mask-repeat:repeat;animation:frostShimmer 1.6s ease-out forwards}[data-surface=snow] :is(.stat-card,.skill-card,.project-card,.timeline-card,.marquee-item,.code-card,.contact-form,.contact-item,.footer):after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;z-index:2;pointer-events:none;background:radial-gradient(ellipse at 50% 0%,transparent 52%,color-mix(in srgb,#bfe0ff 18%,transparent) 100%);box-shadow:inset 0 0 26px color-mix(in srgb,#bfe0ff 22%,transparent);animation:frostShimmer 1.6s ease-out forwards}[data-surface=snow] .navbar:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;z-index:2;pointer-events:none;background:radial-gradient(ellipse at 50% 0%,transparent 52%,color-mix(in srgb,#bfe0ff 18%,transparent) 100%),color-mix(in srgb,#cfe3ff 24%,transparent);box-shadow:inset 0 0 26px color-mix(in srgb,#bfe0ff 22%,transparent);-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cg fill='%23ffffff'%3E%3Ccircle cx='30' cy='26' r='2.2' fill-opacity='0.4'/%3E%3Ccircle cx='90' cy='70' r='1.6' fill-opacity='0.3'/%3E%3Ccircle cx='160' cy='38' r='2.4' fill-opacity='0.42'/%3E%3Ccircle cx='55' cy='130' r='2' fill-opacity='0.36'/%3E%3Ccircle cx='140' cy='150' r='2.8' fill-opacity='0.45'/%3E%3Ccircle cx='180' cy='110' r='1.6' fill-opacity='0.28'/%3E%3Ccircle cx='20' cy='180' r='2' fill-opacity='0.36'/%3E%3Ccircle cx='115' cy='190' r='2.4' fill-opacity='0.4'/%3E%3Ccircle cx='70' cy='60' r='1.4' fill-opacity='0.28'/%3E%3C/g%3E%3Cg fill='none' stroke='%23ffffff' stroke-width='1.6' stroke-linecap='round'%3E%3Cpath d='M24 18v8M20 22h8' stroke-opacity='0.55'/%3E%3Cpath d='M64 62v8M60 66h8' stroke-opacity='0.5'/%3E%3Cpath d='M156 30v8M152 34h8' stroke-opacity='0.55'/%3E%3Cpath d='M50 124v8M46 128h8' stroke-opacity='0.5'/%3E%3Cpath d='M142 144v8M138 148h8' stroke-opacity='0.55'/%3E%3Cpath d='M174 104v8M170 108h8' stroke-opacity='0.45'/%3E%3Cpath d='M16 174v8M12 178h8' stroke-opacity='0.5'/%3E%3Cpath d='M112 182v8M108 186h8' stroke-opacity='0.45'/%3E%3Cpath d='M92 90v8M88 94h8' stroke-opacity='0.5'/%3E%3Cpath d='M30 136v8M26 140h8' stroke-opacity='0.5'/%3E%3C/g%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cg fill='%23ffffff'%3E%3Ccircle cx='30' cy='26' r='2.2' fill-opacity='0.4'/%3E%3Ccircle cx='90' cy='70' r='1.6' fill-opacity='0.3'/%3E%3Ccircle cx='160' cy='38' r='2.4' fill-opacity='0.42'/%3E%3Ccircle cx='55' cy='130' r='2' fill-opacity='0.36'/%3E%3Ccircle cx='140' cy='150' r='2.8' fill-opacity='0.45'/%3E%3Ccircle cx='180' cy='110' r='1.6' fill-opacity='0.28'/%3E%3Ccircle cx='20' cy='180' r='2' fill-opacity='0.36'/%3E%3Ccircle cx='115' cy='190' r='2.4' fill-opacity='0.4'/%3E%3Ccircle cx='70' cy='60' r='1.4' fill-opacity='0.28'/%3E%3C/g%3E%3Cg fill='none' stroke='%23ffffff' stroke-width='1.6' stroke-linecap='round'%3E%3Cpath d='M24 18v8M20 22h8' stroke-opacity='0.55'/%3E%3Cpath d='M64 62v8M60 66h8' stroke-opacity='0.5'/%3E%3Cpath d='M156 30v8M152 34h8' stroke-opacity='0.55'/%3E%3Cpath d='M50 124v8M46 128h8' stroke-opacity='0.5'/%3E%3Cpath d='M142 144v8M138 148h8' stroke-opacity='0.55'/%3E%3Cpath d='M174 104v8M170 108h8' stroke-opacity='0.45'/%3E%3Cpath d='M16 174v8M12 178h8' stroke-opacity='0.5'/%3E%3Cpath d='M112 182v8M108 186h8' stroke-opacity='0.45'/%3E%3Cpath d='M92 90v8M88 94h8' stroke-opacity='0.5'/%3E%3Cpath d='M30 136v8M26 140h8' stroke-opacity='0.5'/%3E%3C/g%3E%3C/svg%3E");-webkit-mask-size:200px 200px;mask-size:200px 200px;-webkit-mask-repeat:repeat;mask-repeat:repeat;animation:frostShimmer 1.6s ease-out forwards}[data-theme=light][data-surface=snow] :is(.stat-card,.skill-card,.project-card,.timeline-card,.marquee-item,.code-card,.contact-form,.contact-item,.footer,.btn,.social-btn,.badge,.tag,.hamburger,.lang-trigger,.sound-toggle,.theme-toggle button):before{background-color:color-mix(in srgb,#a9c6ec 34%,transparent)}[data-theme=light][data-surface=rain] :is(.stat-card,.skill-card,.project-card,.timeline-card,.marquee-item,.code-card,.contact-form,.contact-item,.footer):after{background:linear-gradient(180deg,color-mix(in srgb,#ffffff 30%,transparent),transparent 80%)}[data-surface=snow] :is(.btn,.social-btn):after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;pointer-events:none;background-image:radial-gradient(ellipse at 50% 0%,transparent 52%,color-mix(in srgb,#bfe0ff 18%,transparent) 100%),linear-gradient(100deg,transparent 30%,rgba(255,255,255,.35) 50%,transparent 70%);background-size:auto,240% 100%;background-position:center,165% 0;background-repeat:no-repeat;box-shadow:inset 0 0 26px color-mix(in srgb,#bfe0ff 22%,transparent);animation:frostShimmer 1.6s ease-out forwards}[data-surface=rain] :is(.btn,.social-btn):after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;pointer-events:none;background-image:linear-gradient(180deg,color-mix(in srgb,#ffffff 13%,transparent),transparent 80%),linear-gradient(100deg,transparent 30%,rgba(255,255,255,.35) 50%,transparent 70%);background-size:auto,240% 100%;background-position:center,165% 0;background-repeat:no-repeat;animation:wetSheen 1.8s ease-out forwards}@keyframes wetShimmer{0%{opacity:.65}to{opacity:1}}@keyframes wetSheen{0%{opacity:0}to{opacity:1}}@keyframes frostShimmer{0%{opacity:.5}to{opacity:1}}.hero{min-height:100vh;min-height:100svh;min-height:100dvh;display:flex;align-items:center;padding:150px 0 80px;position:relative;overflow:hidden}.grid-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;background-image:linear-gradient(var(--border) 1px,transparent 1px),linear-gradient(90deg,var(--border) 1px,transparent 1px);background-size:56px 56px;opacity:.28;mask-image:radial-gradient(ellipse at center,#000 20%,transparent 70%);-webkit-mask-image:radial-gradient(ellipse at center,#000 20%,transparent 70%)}.hero .container{position:relative;z-index:1}.hero-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);gap:clamp(40px,7vw,130px);align-items:center}.hero-text{text-align:left}.badge{display:inline-flex;align-items:center;gap:9px;background:linear-gradient(160deg,color-mix(in srgb,var(--card) 55%,transparent),color-mix(in srgb,var(--card) 85%,transparent));backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);color:var(--accent);border:1px solid var(--glass-border);padding:8px 18px;border-radius:999px;font-size:.85rem;font-weight:600;margin-bottom:26px;box-shadow:inset 0 1px 0 var(--glass-inset)}.badge-dot{width:9px;height:9px;border-radius:50%;background:#22c55e}.pulse .badge-dot{animation:pulse 1.8s infinite}@keyframes pulse{0%,to{box-shadow:0 0 #22c55e99}50%{box-shadow:0 0 0 7px #22c55e00}}.hero h1{font-size:clamp(2.6rem,5.5vw,4.1rem);font-weight:900;letter-spacing:-.03em;line-height:1.05}.role{font-size:clamp(1.5rem,3vw,2.3rem);color:var(--text);margin-top:8px;min-height:2.6rem;font-weight:700}.typewriter .cursor{display:inline-block;margin-left:3px;color:var(--accent);font-weight:300;animation:blink 1s steps(1) infinite}@keyframes blink{50%{opacity:0}}.tagline{margin-top:24px;max-width:660px;color:var(--text-muted);font-size:1.07rem}.hero-cta{display:flex;gap:16px;margin-top:36px;flex-wrap:wrap}.btn{position:relative;display:inline-block;padding:14px 32px;border-radius:999px;font-weight:700;font-size:1rem;text-decoration:none;border:none;cursor:pointer;font-family:inherit;overflow:hidden;transition:transform .2s,box-shadow .2s}.btn:after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;border-radius:inherit;pointer-events:none;background:linear-gradient(100deg,transparent 30%,rgba(255,255,255,.35) 50%,transparent 70%) 165% 0 / 240% 100% no-repeat;transition:background-position .5s ease}.btn:hover:after{background-position:-65% 0}.btn-primary{background:linear-gradient(120deg,var(--grad-1),var(--grad-2),var(--grad-3));background-size:180% auto;color:#fff;box-shadow:0 14px 34px color-mix(in srgb,var(--grad-2) 42%,transparent)}.btn-primary:hover{transform:translateY(-3px);background-position:right center;box-shadow:0 20px 46px color-mix(in srgb,var(--grad-2) 52%,transparent)}.btn-outline{background:linear-gradient(160deg,color-mix(in srgb,var(--card) 55%,transparent),color-mix(in srgb,var(--card) 90%,transparent));backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);color:var(--text);border:1px solid var(--glass-border);box-shadow:inset 0 1px 0 var(--glass-inset)}.btn-outline:hover{border-color:var(--grad-2);color:var(--accent);transform:translateY(-3px)}.socials{display:flex;flex-wrap:wrap;gap:12px;margin-top:38px}.social-btn{display:inline-flex;align-items:center;gap:9px;padding:10px 18px;border-radius:999px;text-decoration:none;color:var(--text);font-weight:600;font-size:.9rem;background:linear-gradient(160deg,color-mix(in srgb,var(--card) 55%,transparent),color-mix(in srgb,var(--card) 92%,transparent));backdrop-filter:blur(16px) saturate(150%);-webkit-backdrop-filter:blur(16px) saturate(150%);border:1px solid var(--glass-border);box-shadow:inset 0 1px 0 var(--glass-inset),0 10px 28px #02050f40;transition:transform .25s,border-color .25s,box-shadow .25s}.social-icon{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:color-mix(in srgb,var(--brand) 16%,transparent);color:var(--brand);transition:transform .3s,background .3s}.social-icon svg{display:block}.brand-github{--brand: #e6edf3}.brand-telegram{--brand: #2aabee}.brand-linkedin{--brand: #0a66c2}.brand-upwork{--brand: #14a800}[data-theme=light] .brand-github{--brand: #181717}[data-theme=light] .brand-telegram{--brand: #229ed9}[data-theme=light] .brand-linkedin{--brand: #0a66c2}[data-theme=light] .brand-upwork{--brand: #108a00}.social-btn:hover{transform:translateY(-3px);border-color:color-mix(in srgb,var(--grad-2) 60%,var(--glass-border));box-shadow:inset 0 1px 0 var(--glass-inset),0 16px 38px color-mix(in srgb,var(--grad-2) 28%,transparent)}.social-btn:hover .social-icon{transform:scale(1.18) rotate(-8deg);background:color-mix(in srgb,var(--brand) 26%,transparent)}.hero-visual{display:flex;justify-content:flex-end;align-items:center;padding-right:clamp(0px,3vw,48px)}.code-stack{position:relative;width:min(440px,100%);height:320px;will-change:transform;animation:stackFloat 7s ease-in-out infinite}@keyframes stackFloat{0%,to{transform:translateZ(0)}50%{transform:translate3d(0,-12px,0)}}.code-card{position:absolute;top:0;left:0;width:100%;height:100%;overflow:hidden;background:linear-gradient(160deg,#10162cf0,#090d1ee6);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid var(--glass-border);border-radius:16px;box-shadow:inset 0 1px 0 var(--glass-inset),var(--glass-shadow);backface-visibility:hidden;will-change:transform;transition:transform .7s cubic-bezier(.25,.1,.25,1.2),opacity .5s,box-shadow .6s}.code-card-1{z-index:3;transform:rotate(-1deg)}.code-card-2{z-index:2;top:26px;left:26px;opacity:.92;transform:rotate(1.2deg)}.code-card-3{z-index:1;top:52px;left:52px;opacity:.8;transform:rotate(2.4deg)}.code-stack:hover .code-card-1{transform:rotate(-1.5deg) translateY(-9px)}.code-stack:hover .code-card-2{transform:rotate(1deg) translateY(-15px) translate(8px)}.code-stack:hover .code-card-3{transform:rotate(2deg) translateY(-21px) translate(16px)}.code-stack:hover .code-card:not(:hover){opacity:.78;box-shadow:inset 0 1px 0 var(--glass-inset),0 14px 36px #02050f66}.code-card-1:hover{transform:rotate(-.4deg) translateY(-24px) scale(1.03);opacity:1;box-shadow:inset 0 1px 0 var(--glass-inset),0 40px 90px #02050fb3;z-index:9}.code-card-2:hover{transform:rotate(.5deg) translateY(-30px) translate(10px) scale(1.02);opacity:1;box-shadow:inset 0 1px 0 var(--glass-inset),0 40px 90px #02050fb3;z-index:10}.code-card-3:hover{transform:rotate(1.3deg) translateY(-34px) translate(18px) scale(1.01);opacity:1;box-shadow:inset 0 1px 0 var(--glass-inset),0 44px 100px #02050fbf;z-index:11}.code-dots{display:flex;align-items:center;gap:8px;padding:14px 18px;background:color-mix(in srgb,#fff 5%,transparent);border-bottom:1px solid var(--glass-border)}.code-dots span{width:12px;height:12px;border-radius:50%}.code-dots span:nth-child(1){background:#ff5f57}.code-dots span:nth-child(2){background:#febc2e}.code-dots span:nth-child(3){background:#28c840}.code-dots .code-title{width:auto;height:auto;border-radius:0;margin-left:auto;font-family:var(--font-mono);font-size:.72rem;font-weight:600;color:var(--text-muted)}.code-card pre{padding:16px 20px;font-family:var(--font-mono);font-size:.86rem;line-height:1.62;color:#c9d1e8;overflow:hidden;white-space:pre}.code-line{white-space:nowrap}.code-card .kw{color:#c792ea}.code-card .fn{color:#82aaff}.code-card .str{color:#c3e88d}.code-card .bool{color:#f78c6c}.section-head{margin-bottom:54px}.section-title{font-size:clamp(1.9rem,4vw,2.6rem);font-weight:900;letter-spacing:-.03em;position:relative}.section-title:before{content:"//";font-family:var(--font-mono);font-size:.9em;background:linear-gradient(120deg,var(--grad-1),var(--grad-3));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;margin-right:12px}.section-line{width:76px;height:4px;border-radius:4px;background:linear-gradient(90deg,var(--grad-1),var(--grad-3));background-size:200% auto;margin:16px 0;animation:gradientShift 5s linear infinite}.section-sub{color:var(--text-muted);max-width:560px}.about-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:clamp(44px,7vw,120px);align-items:center}.about-text p{margin-bottom:18px;color:var(--text-muted)}.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px}.stat-card{border-radius:var(--radius);padding:30px 22px;text-align:center;background:linear-gradient(160deg,color-mix(in srgb,var(--card) 62%,transparent),color-mix(in srgb,var(--card) 88%,transparent));backdrop-filter:blur(20px) saturate(150%);-webkit-backdrop-filter:blur(20px) saturate(150%);border:1px solid var(--glass-border);box-shadow:inset 0 1px 0 var(--glass-inset),var(--glass-shadow);transition:transform .25s,box-shadow .25s,border-color .25s}.stat-card:hover{transform:translateY(-7px) scale(1.02);box-shadow:inset 0 1px 0 var(--glass-inset),var(--glow);border-color:color-mix(in srgb,var(--grad-2) 55%,var(--glass-border))}.stat-value{font-size:2.5rem;font-weight:900;line-height:1.1}.stat-label{color:var(--text-muted);font-size:.92rem;margin-top:6px}.marquee-wrap{margin-bottom:46px}.marquee{overflow:hidden;width:100%;padding:4px 0;mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}.marquee-track{display:flex;gap:16px;width:max-content;will-change:transform;animation:marquee 30s linear infinite}.marquee:hover .marquee-track{animation-play-state:paused}.marquee-item{display:flex;align-items:center;gap:9px;padding:12px 24px;border-radius:999px;font-family:var(--font-mono);font-size:.88rem;font-weight:600;color:var(--text-muted);white-space:nowrap;background:linear-gradient(160deg,color-mix(in srgb,var(--card) 55%,transparent),color-mix(in srgb,var(--card) 85%,transparent));backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid var(--glass-border);box-shadow:inset 0 1px 0 var(--glass-inset);transition:color .2s,border-color .2s,transform .2s}.marquee-item:hover{color:var(--text);border-color:var(--grad-2);transform:translateY(-2px)}.marquee-dot{width:8px;height:8px;border-radius:50%;background:linear-gradient(120deg,var(--grad-1),var(--grad-3))}@keyframes marquee{to{transform:translate3d(-50%,0,0)}}.skills-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:26px}.skill-card{border-radius:var(--radius);padding:32px;height:100%;background:linear-gradient(160deg,color-mix(in srgb,var(--card) 62%,transparent),color-mix(in srgb,var(--card) 88%,transparent));backdrop-filter:blur(20px) saturate(150%);-webkit-backdrop-filter:blur(20px) saturate(150%);border:1px solid var(--glass-border);box-shadow:inset 0 1px 0 var(--glass-inset),var(--glass-shadow);transition:transform .25s,box-shadow .25s,border-color .25s}.skill-card:hover{transform:translateY(-7px);box-shadow:inset 0 1px 0 var(--glass-inset),var(--glow);border-color:color-mix(in srgb,var(--grad-2) 55%,var(--glass-border))}.skill-icon{font-family:var(--font-mono);font-size:1.8rem;font-weight:700;display:inline-block;background:linear-gradient(120deg,var(--grad-1),var(--grad-3));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;margin-bottom:14px;transition:transform .3s}.skill-card:hover .skill-icon{transform:scale(1.18) rotate(6deg)}.skill-card h3{margin-bottom:16px}.skill-card ul{list-style:none}.skill-card li{display:flex;align-items:center;gap:10px;color:var(--text-muted);padding:6px 0;font-size:.95rem;transition:transform .2s,color .2s}.skill-card li:hover{transform:translate(5px);color:var(--text)}.check{color:#22c55e;font-weight:700}.projects-empty{max-width:460px;margin:0 auto;padding:56px 34px;text-align:center;border-radius:var(--radius);background:linear-gradient(160deg,color-mix(in srgb,var(--card) 62%,transparent),color-mix(in srgb,var(--card) 88%,transparent));backdrop-filter:blur(20px) saturate(150%);-webkit-backdrop-filter:blur(20px) saturate(150%);border:1px solid var(--glass-border);border-style:dashed;box-shadow:inset 0 1px 0 var(--glass-inset)}.projects-empty-icon{display:inline-flex;width:68px;height:68px;align-items:center;justify-content:center;font-size:30px;border-radius:20px;background:linear-gradient(135deg,color-mix(in srgb,var(--grad-2) 20%,transparent),color-mix(in srgb,var(--grad-3) 16%,transparent));border:1px solid var(--glass-border);margin-bottom:18px}.projects-empty p{color:var(--text-muted);font-size:15px;line-height:1.7}.projects-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(360px,1fr));gap:26px}.project-card{border-radius:var(--radius);padding:28px;height:100%;cursor:pointer;background:linear-gradient(160deg,color-mix(in srgb,var(--card) 62%,transparent),color-mix(in srgb,var(--card) 88%,transparent));backdrop-filter:blur(20px) saturate(150%);-webkit-backdrop-filter:blur(20px) saturate(150%);border:1px solid var(--glass-border);box-shadow:inset 0 1px 0 var(--glass-inset),var(--glass-shadow);transition:transform .25s,box-shadow .25s,border-color .25s}.project-card:hover{transform:translateY(-7px);box-shadow:inset 0 1px 0 var(--glass-inset),var(--glow);border-color:color-mix(in srgb,var(--grad-2) 55%,var(--glass-border))}.project-card:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.project-card .project-links a{cursor:pointer}.project-thumb{position:relative;aspect-ratio:16 / 8;border-radius:12px;overflow:hidden;background:linear-gradient(135deg,color-mix(in srgb,var(--grad-1) 30%,var(--card)),color-mix(in srgb,var(--grad-3) 30%,var(--card)));border:1px solid var(--glass-border);display:flex;align-items:center;justify-content:center;margin-bottom:20px}.project-thumb:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(100deg,transparent 20%,rgba(255,255,255,.3) 50%,transparent 80%);transform:translate(-130%) skew(-12deg);animation:shimmer 3.6s ease-in-out infinite}@keyframes shimmer{0%{transform:translate(-130%) skew(-12deg)}55%,to{transform:translate(130%) skew(-12deg)}}.project-thumb .project-img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;z-index:0;transition:transform .5s ease}.project-thumb:hover .project-img{transform:scale(1.06)}.thumb-inner{position:absolute;left:12px;bottom:12px;z-index:1;display:flex;align-items:center;gap:10px;font-family:var(--font-mono)}.thumb-inner .mono{display:inline-block;font-size:.78rem;font-weight:700;color:#fff;padding:5px 11px;border-radius:999px;background:#02050f8c;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.22)}.project-card h3{margin-bottom:8px}.project-card>p{color:var(--text-muted);font-size:.95rem;margin-bottom:16px}.tags{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px}.tag{background:color-mix(in srgb,var(--grad-2) 12%,transparent);color:var(--accent);border:1px solid color-mix(in srgb,var(--grad-2) 30%,transparent);padding:4px 13px;border-radius:999px;font-size:.78rem;font-weight:600;transition:background .2s,color .2s}.tag:hover{background:color-mix(in srgb,var(--grad-2) 22%,transparent)}.project-links{display:flex;gap:20px}.project-links a{color:var(--accent);text-decoration:none;font-weight:600;font-size:.9rem;position:relative}.project-links a:after{content:"";position:absolute;left:0;bottom:-3px;width:100%;height:1px;background:linear-gradient(90deg,var(--grad-1),var(--grad-3));transform:scaleX(0);transform-origin:left;transition:transform .3s}.project-links a:hover:after{transform:scaleX(1)}.timeline{position:relative;max-width:none}.timeline:before{content:"";position:absolute;left:11px;top:0;bottom:0;width:2px;background:linear-gradient(180deg,var(--grad-1),var(--grad-3));animation:linePulse 4s ease-in-out infinite}@keyframes linePulse{0%,to{opacity:.5}50%{opacity:1}}.timeline-item{position:relative;padding-left:48px;padding-bottom:34px}.timeline-dot{position:absolute;left:3px;top:6px;width:18px;height:18px;border-radius:50%;background:linear-gradient(120deg,var(--grad-1),var(--grad-3));border:3px solid var(--bg);animation:dotPulse 2s infinite}@keyframes dotPulse{0%,to{box-shadow:0 0 color-mix(in srgb,var(--grad-2) 55%,transparent)}50%{box-shadow:0 0 0 9px transparent}}.timeline-card{border-radius:var(--radius);padding:24px 28px;background:linear-gradient(160deg,color-mix(in srgb,var(--card) 62%,transparent),color-mix(in srgb,var(--card) 88%,transparent));backdrop-filter:blur(20px) saturate(150%);-webkit-backdrop-filter:blur(20px) saturate(150%);border:1px solid var(--glass-border);box-shadow:inset 0 1px 0 var(--glass-inset),var(--glass-shadow);transition:border-color .25s,transform .25s,box-shadow .25s}.timeline-card:hover{border-color:color-mix(in srgb,var(--grad-2) 55%,var(--glass-border));transform:translateY(-3px);box-shadow:inset 0 1px 0 var(--glass-inset),var(--glow)}.timeline-period{font-family:var(--font-mono);font-size:.8rem;color:var(--accent);font-weight:700;letter-spacing:.03em}.timeline-card h3{margin-top:4px}.timeline-card h4{color:var(--text-muted);font-weight:500;font-size:.95rem;margin:2px 0 10px}.timeline-card p{color:var(--text-muted);font-size:.95rem}.contact-grid{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.6fr);gap:clamp(40px,6vw,110px);align-items:start}.contact-info{display:flex;flex-direction:column;gap:22px}.contact-item{display:flex;gap:18px;align-items:flex-start;border-radius:var(--radius);padding:22px 24px;background:linear-gradient(160deg,color-mix(in srgb,var(--card) 62%,transparent),color-mix(in srgb,var(--card) 88%,transparent));backdrop-filter:blur(20px) saturate(150%);-webkit-backdrop-filter:blur(20px) saturate(150%);border:1px solid var(--glass-border);box-shadow:inset 0 1px 0 var(--glass-inset),var(--glass-shadow);transition:transform .25s,box-shadow .25s,border-color .25s}.contact-item:hover{transform:translate(8px);border-color:color-mix(in srgb,var(--grad-2) 55%,var(--glass-border));box-shadow:inset 0 1px 0 var(--glass-inset),var(--glow)}.contact-icon{font-size:1.4rem;transition:transform .3s}.contact-item:hover .contact-icon{transform:scale(1.25) rotate(10deg)}.contact-item h4{font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted)}.contact-item a,.contact-item p{color:var(--text);text-decoration:none;font-weight:600}.contact-item a:hover{color:var(--accent)}.contact-form{border-radius:var(--radius);padding:34px;display:flex;flex-direction:column;gap:20px;background:linear-gradient(160deg,color-mix(in srgb,var(--card) 62%,transparent),color-mix(in srgb,var(--card) 88%,transparent));backdrop-filter:blur(22px) saturate(160%);-webkit-backdrop-filter:blur(22px) saturate(160%);border:1px solid var(--glass-border);box-shadow:inset 0 1px 0 var(--glass-inset),var(--glass-shadow)}.contact-form label{display:flex;flex-direction:column;gap:8px;font-weight:600;font-size:.9rem}.contact-form input,.contact-form textarea{background:color-mix(in srgb,var(--bg-soft) 45%,transparent);border:1px solid var(--glass-border);border-radius:12px;padding:13px 15px;color:var(--text);font-family:inherit;font-size:1rem;transition:border-color .2s,box-shadow .2s,background .2s;resize:vertical}.contact-form input:focus,.contact-form textarea:focus{outline:none;border-color:var(--grad-2);background:color-mix(in srgb,var(--bg-soft) 70%,transparent);box-shadow:0 0 0 4px color-mix(in srgb,var(--grad-2) 16%,transparent)}.form-success{display:flex;align-items:center;gap:10px;padding:14px 18px;border-radius:12px;border:1px solid color-mix(in srgb,#22c55e 40%,transparent);background:color-mix(in srgb,#22c55e 9%,transparent);color:#22c55e;font-weight:600;animation:welcomeIn .4s ease both}.footer{border-top:1px solid var(--glass-border);padding:34px 0;background:color-mix(in srgb,var(--bg) 40%,transparent);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}.footer-inner{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;color:var(--text-muted);font-size:.9rem}.footer-note{font-family:var(--font-mono)}.scroll-top{position:fixed;right:28px;bottom:28px;z-index:90;width:48px;height:48px;border-radius:50%;font-size:1.2rem;color:var(--text);cursor:pointer;background:linear-gradient(160deg,color-mix(in srgb,var(--card) 60%,transparent),color-mix(in srgb,var(--card) 90%,transparent));backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid var(--glass-border);box-shadow:inset 0 1px 0 var(--glass-inset),var(--glass-shadow);opacity:0;visibility:hidden;transform:translateY(20px);transition:opacity .3s,transform .3s,visibility .3s}.scroll-top.show{opacity:1;visibility:visible;transform:translateY(0)}.scroll-top:hover{border-color:var(--grad-2);transform:translateY(-4px);box-shadow:inset 0 1px 0 var(--glass-inset),0 0 0 1px color-mix(in srgb,var(--grad-2) 40%,transparent),var(--glass-shadow);animation:none}.scroll-top.show:not(:hover){animation:topBob 2.2s ease-in-out infinite}@keyframes topBob{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}@media (max-width: 1440px){.weather-trigger .lang-current,.lang-trigger .lang-current{display:none}.lang-trigger{padding:8px 11px}.nav-links a{padding:8px 11px;font-size:.87rem}.nav-links .link-dot{display:none}.brand{padding:6px 14px 6px 8px}.brand-text{font-size:.98rem}}@media (max-width: 1024px){.container{padding:0 30px}.hero-grid,.about-grid,.contact-grid{grid-template-columns:1fr}.hero-visual{justify-content:center}}@media (max-width: 1024px){.navbar{gap:8px;width:calc(100% - 20px);padding:8px 10px}.brand{padding:4px 14px 4px 4px;gap:10px}.navbar .brand-dot{width:28px;height:28px}.brand-text{font-size:.95rem}.nav-divider{display:none}.hero{padding-top:130px;padding-bottom:40px}.skills-grid,.projects-grid{grid-template-columns:1fr}.stats{grid-template-columns:1fr 1fr}.hamburger{display:flex}.nav-links{position:fixed;top:78px;left:22px;right:22px;flex-direction:column;align-items:stretch;gap:8px;padding:12px;max-height:calc(100dvh - 110px);overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;background:linear-gradient(160deg,color-mix(in srgb,var(--card) 88%,transparent),color-mix(in srgb,var(--card) 96%,transparent));backdrop-filter:blur(22px) saturate(160%);-webkit-backdrop-filter:blur(22px) saturate(160%);border-radius:18px;border:1px solid var(--glass-border);box-shadow:inset 0 1px 0 var(--glass-inset),0 30px 70px #02050f99;display:none}.nav-links.open{display:flex}.nav-indicator{display:none}.nav-links a.active{background:linear-gradient(120deg,var(--grad-1),var(--grad-3));color:#fff}.nav-links a{text-align:center;padding:12px}}@media (max-width: 560px){.navbar .brand-text{display:none}.lang-trigger{padding:8px 10px}.sound-toggle{width:38px;height:38px}}.grain{position:fixed;top:-50%;right:-50%;bottom:-50%;left:-50%;width:200%;height:200%;z-index:0;pointer-events:none;opacity:.035;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='240'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='240' height='240' filter='url(%23n)'/%3E%3C/svg%3E");animation:grainShift 9s steps(10) infinite}@keyframes grainShift{0%,to{transform:translate(0)}20%{transform:translate(-4%,-6%)}40%{transform:translate(-8%,4%)}60%{transform:translate(6%,-3%)}80%{transform:translate(4%,8%)}}.about-highlights{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:28px}.about-chip{display:inline-flex;align-items:center;gap:10px;padding:8px 18px 8px 9px;border-radius:999px;font-size:.86rem;font-weight:600;color:var(--text);background:linear-gradient(160deg,color-mix(in srgb,var(--card) 55%,transparent),color-mix(in srgb,var(--card) 85%,transparent));backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid var(--glass-border);box-shadow:inset 0 1px 0 var(--glass-inset);transition:transform .25s,border-color .25s,box-shadow .25s}.about-chip:hover{transform:translateY(-3px);border-color:color-mix(in srgb,var(--grad-2) 55%,var(--glass-border));box-shadow:inset 0 1px 0 var(--glass-inset),var(--glow)}.chip-icon{width:27px;height:27px;flex-shrink:0;display:grid;place-items:center;border-radius:50%;color:#fff;background:linear-gradient(120deg,var(--grad-1),var(--grad-2),var(--grad-3));box-shadow:0 4px 14px color-mix(in srgb,var(--grad-2) 45%,transparent),inset 0 1px #ffffff59}.chip-icon svg{display:block}.stat-card{position:relative}.stat-top{position:absolute;top:0;left:50%;transform:translate(-50%);width:58px;height:3px;border-radius:0 0 999px 999px;background:linear-gradient(90deg,var(--grad-1),var(--grad-3));box-shadow:0 0 16px color-mix(in srgb,var(--grad-2) 60%,transparent);transition:width .3s,box-shadow .3s}.stat-card:hover .stat-top{width:92px;box-shadow:0 0 24px color-mix(in srgb,var(--grad-2) 80%,transparent)}.skill-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:16px}.skill-head .skill-icon{margin-bottom:0}.skill-count{font-family:var(--font-mono);font-size:.78rem;font-weight:700;letter-spacing:.04em;color:var(--text-muted);padding:5px 13px;border-radius:999px;border:1px solid var(--glass-border);background:color-mix(in srgb,var(--bg-soft) 30%,transparent);transition:color .2s,border-color .2s,box-shadow .2s}.skill-card:hover .skill-count{color:var(--accent);border-color:color-mix(in srgb,var(--grad-2) 45%,var(--glass-border));box-shadow:0 4px 14px color-mix(in srgb,var(--grad-2) 22%,transparent)}.thumb-inner{transition:opacity .35s ease,transform .35s ease}.project-thumb .thumb-hover{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;display:flex;align-items:center;justify-content:center;gap:8px;font-size:.95rem;font-weight:800;color:#fff;letter-spacing:.02em;background:linear-gradient(160deg,color-mix(in srgb,var(--grad-1) 38%,transparent),color-mix(in srgb,var(--grad-3) 52%,var(--bg)));opacity:0;transform:translateY(14px);transition:opacity .35s ease,transform .35s ease}.project-thumb:hover .thumb-hover{opacity:1;transform:translateY(0)}.project-thumb:hover .thumb-inner{opacity:0;transform:scale(.9)}.project-links{gap:12px;flex-wrap:wrap}.project-links a.project-link{display:inline-flex;align-items:center;gap:9px;padding:11px 22px;border-radius:999px;font-weight:700;font-size:.88rem;color:var(--text);transition:transform .25s,box-shadow .25s,border-color .25s,background-position .35s,color .25s}.project-links a.project-link:after{content:none}.project-links a.project-link svg{display:block;flex-shrink:0}.project-links a.project-link:hover{transform:translateY(-3px)}.project-link-ghost{background:linear-gradient(160deg,color-mix(in srgb,var(--card) 55%,transparent),color-mix(in srgb,var(--card) 90%,transparent));backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid var(--glass-border);box-shadow:inset 0 1px 0 var(--glass-inset)}.project-link-ghost:hover{border-color:var(--grad-2);color:var(--accent);box-shadow:inset 0 1px 0 var(--glass-inset),0 14px 30px color-mix(in srgb,var(--grad-2) 22%,transparent)}.project-link-solid{background:linear-gradient(120deg,var(--grad-1),var(--grad-2),var(--grad-3));background-size:180% auto;border:1px solid transparent;color:#fff;box-shadow:0 10px 26px color-mix(in srgb,var(--grad-2) 42%,transparent)}.project-link-solid:hover{background-position:right center;color:#fff;box-shadow:0 16px 36px color-mix(in srgb,var(--grad-2) 52%,transparent)}.timeline-head{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.timeline-period{display:inline-block;padding:6px 14px;border-radius:999px;border:1px solid color-mix(in srgb,var(--grad-2) 35%,transparent);background:color-mix(in srgb,var(--grad-2) 9%,transparent)}.tl-current{display:inline-flex;align-items:center;gap:7px;padding:5px 12px;border-radius:999px;font-family:var(--font-mono);font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.09em;color:#22c55e;border:1px solid color-mix(in srgb,#22c55e 35%,transparent);background:color-mix(in srgb,#22c55e 9%,transparent)}.tl-current:before{content:"";width:7px;height:7px;border-radius:50%;background:#22c55e;animation:pulse 1.8s infinite}.company-arrow{font-family:var(--font-mono);font-weight:700;background:linear-gradient(120deg,var(--grad-1),var(--grad-3));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.char-count{font-family:var(--font-mono);font-size:.75rem;color:var(--text-muted);align-self:flex-end;transition:color .2s}.char-count.limit{color:#f59e0b}.btn-send{display:inline-flex;align-items:center;justify-content:center;gap:10px}.btn-send:disabled{opacity:.75;cursor:not-allowed;transform:none;box-shadow:0 10px 26px color-mix(in srgb,var(--grad-2) 32%,transparent)}.spinner{width:16px;height:16px;flex-shrink:0;border-radius:50%;border:2px solid rgba(255,255,255,.35);border-top-color:#fff;animation:spinSlow .7s linear infinite}.footer{padding:58px 0 calc(96px + env(safe-area-inset-bottom))}.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:clamp(32px,5vw,72px);padding-bottom:42px}.footer-brand{display:flex;align-items:flex-start;gap:18px}.footer .brand-dot{width:46px;height:46px;border-radius:50%;flex-shrink:0;display:grid;place-items:center;margin-top:2px;background:linear-gradient(120deg,var(--grad-1),var(--grad-2),var(--grad-3));background-size:200% auto;animation:gradientShift 4s linear infinite;box-shadow:0 6px 20px color-mix(in srgb,var(--grad-2) 50%,transparent),inset 0 1px #ffffff59}.footer .brand-dot:after{content:"";width:14px;height:14px;border-radius:50%;background:#fffffff0;box-shadow:0 0 10px #ffffffa6}.footer-brand h3{font-size:1.22rem;font-weight:800;letter-spacing:-.02em;margin-bottom:6px}.footer-brand p{color:var(--text-muted);font-size:.92rem}.footer-col h4{position:relative;font-size:.76rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted);padding-bottom:12px;margin-bottom:20px}.footer-col h4:after{content:"";position:absolute;left:0;bottom:0;width:34px;height:3px;border-radius:3px;background:linear-gradient(90deg,var(--grad-1),var(--grad-3))}.footer-nav,.footer-socials{display:flex;flex-direction:column;gap:13px}.footer-nav a,.footer-social{display:inline-flex;align-items:center;gap:10px;width:fit-content;color:var(--text-muted);text-decoration:none;font-weight:600;font-size:.92rem;transition:color .2s,transform .2s}.footer-nav a:hover,.footer-social:hover{color:var(--text);transform:translate(6px)}.footer-social-icon{width:26px;height:26px;flex-shrink:0;display:grid;place-items:center;border-radius:50%;color:var(--text-muted);background:color-mix(in srgb,var(--bg-soft) 32%,transparent);border:1px solid var(--glass-border);transition:color .2s,border-color .2s,box-shadow .2s}.footer-social-icon svg{display:block}.footer-social:hover .footer-social-icon{color:var(--accent);border-color:color-mix(in srgb,var(--grad-2) 50%,var(--glass-border));box-shadow:0 4px 14px color-mix(in srgb,var(--grad-2) 24%,transparent)}.footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;border-top:1px solid var(--glass-border);padding:24px 0;color:var(--text-muted);font-size:.88rem}.footer-top{display:inline-flex;align-items:center;gap:8px;padding:9px 18px;border-radius:999px;border:1px solid var(--glass-border);background:color-mix(in srgb,var(--bg-soft) 26%,transparent);color:var(--text-muted);font-family:inherit;font-size:.85rem;font-weight:600;cursor:pointer;transition:color .2s,border-color .2s,transform .2s,box-shadow .2s}.footer-top:hover{color:var(--accent);border-color:var(--grad-2);transform:translateY(-2px);box-shadow:0 8px 22px color-mix(in srgb,var(--grad-2) 22%,transparent)}.footer-top svg{display:block}.scroll-cue{position:absolute;left:50%;bottom:26px;z-index:1;display:flex;flex-direction:column;align-items:center;gap:10px;color:var(--text-muted);text-decoration:none;font-size:.74rem;font-weight:600;letter-spacing:.09em;text-transform:uppercase;transition:color .25s;animation:scrollCueIn .9s cubic-bezier(.22,.61,.36,1) 1s both}.scroll-cue:hover{color:var(--text)}.scroll-cue-text{font-family:var(--font-mono)}.scroll-mouse{width:25px;height:41px;border-radius:999px;border:2px solid color-mix(in srgb,var(--text-muted) 55%,transparent);display:flex;justify-content:center;padding-top:7px;transition:border-color .25s}.scroll-cue:hover .scroll-mouse{border-color:color-mix(in srgb,var(--grad-2) 65%,transparent)}.scroll-mouse span{width:4px;height:8px;border-radius:999px;background:linear-gradient(180deg,var(--grad-1),var(--grad-3));animation:scrollWheel 1.8s ease-in-out infinite}@keyframes scrollWheel{0%{transform:translateY(0);opacity:1}60%,to{transform:translateY(12px);opacity:0}}@keyframes scrollCueIn{0%{opacity:0;transform:translate(-50%) translateY(18px)}to{opacity:1;transform:translate(-50%) translateY(0)}}@media (max-width: 760px){.footer-grid{grid-template-columns:1fr;gap:30px}}@media (max-width: 560px){.scroll-cue{display:none}}.footer-stack{display:inline-flex;align-items:center;padding:7px 14px;border-radius:999px;border:1px solid var(--glass-border);background:color-mix(in srgb,var(--bg-soft) 22%,transparent);color:var(--text-muted);font-family:var(--font-mono);font-size:.78rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;cursor:pointer;transition:color .25s,border-color .25s,box-shadow .25s,transform .25s}.footer-stack:hover{color:var(--accent);border-color:color-mix(in srgb,var(--grad-2) 55%,var(--glass-border));box-shadow:0 0 18px color-mix(in srgb,var(--grad-2) 25%,transparent);transform:translateY(-2px)}.admin-page{position:relative;z-index:1;min-height:100dvh}.admin-page .admin-modal{background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;padding:40px 20px}.admin-page .admin-login{margin:0 auto}.admin-page .admin-panel{position:relative;inset:auto;padding-top:34px}.admin-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1200;display:flex;align-items:center;justify-content:center;padding:20px;background:#02050fa8;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);animation:adminFade .3s ease both}@keyframes adminFade{0%{opacity:0}to{opacity:1}}.admin-login{position:relative;width:min(400px,100%);padding:40px 34px 34px;border-radius:22px;text-align:center;animation:adminPop .45s cubic-bezier(.34,1.56,.64,1) both}@keyframes adminPop{0%{opacity:0;transform:translateY(26px) scale(.92)}to{opacity:1;transform:translateY(0) scale(1)}}.admin-login.shake{animation:adminShake .5s ease both}@keyframes adminShake{0%,to{transform:translate(0)}20%{transform:translate(-12px)}40%{transform:translate(11px)}60%{transform:translate(-8px)}80%{transform:translate(6px)}}.admin-login-badge{display:inline-flex;align-items:center;gap:10px;padding:8px 18px;border-radius:999px;background:color-mix(in srgb,var(--grad-2) 14%,transparent);border:1px solid color-mix(in srgb,var(--grad-2) 38%,transparent);font-family:var(--font-mono);font-size:.78rem;font-weight:800;letter-spacing:.22em;color:var(--accent);margin-bottom:18px}.admin-login-badge .brand-dot{width:14px;height:14px;animation:spinSlow 3s linear infinite}.admin-login h2{font-size:1.5rem;font-weight:900;letter-spacing:-.02em}.admin-login-sub{color:var(--text-muted);font-size:.9rem;margin:6px 0 24px}.admin-login form{display:flex;flex-direction:column;gap:16px;text-align:left}.admin-login label{display:flex;flex-direction:column;gap:7px;font-size:.85rem;font-weight:700}.admin-login input{background:color-mix(in srgb,var(--bg-soft) 45%,transparent);border:1px solid var(--glass-border);border-radius:12px;padding:12px 14px;color:var(--text);font-family:inherit;font-size:16px;transition:border-color .2s,box-shadow .2s}.admin-login input:focus{outline:none;border-color:var(--grad-2);box-shadow:0 0 0 4px color-mix(in srgb,var(--grad-2) 16%,transparent)}.admin-login-error{color:#f87171;font-size:.85rem;font-weight:600;background:color-mix(in srgb,#f87171 10%,transparent);border:1px solid color-mix(in srgb,#f87171 35%,transparent);padding:9px 13px;border-radius:10px}.admin-login-btn{width:100%;margin-top:4px}.admin-login-close{position:absolute;top:14px;right:14px;width:34px;height:34px;display:grid;place-items:center;border-radius:50%;border:1px solid var(--glass-border);background:transparent;color:var(--text-muted);cursor:pointer;font-size:.9rem;transition:color .2s,border-color .2s,transform .2s}.admin-login-close:hover{color:var(--text);border-color:var(--grad-2);transform:rotate(90deg)}.admin-panel{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1100;overflow-y:auto;background:color-mix(in srgb,var(--bg) 82%,transparent);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);padding:26px clamp(16px,4vw,48px) 60px;animation:adminPanelIn .4s cubic-bezier(.22,.61,.36,1) both}@keyframes adminPanelIn{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}.admin-header{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:18px 22px;border-radius:18px;margin-bottom:18px;flex-wrap:wrap}.admin-header-brand{display:flex;align-items:center;gap:14px}.admin-header-brand .brand-dot{width:38px;height:38px;animation:spinSlow 4s linear infinite}.admin-header-brand h1{font-size:1.25rem;font-weight:900;letter-spacing:-.02em}.admin-header-brand p{color:var(--text-muted);font-family:var(--font-mono);font-size:.75rem}.admin-header-actions{display:flex;gap:10px}.admin-refresh{width:40px;height:40px;border-radius:50%;border:1px solid var(--glass-border);background:color-mix(in srgb,var(--bg-soft) 30%,transparent);color:var(--text);cursor:pointer;font-size:1.05rem;transition:transform .3s,border-color .3s}.admin-refresh:hover{transform:rotate(180deg);border-color:var(--grad-2)}.admin-logout{padding:9px 20px;border-radius:999px;border:1px solid color-mix(in srgb,#f87171 45%,transparent);background:color-mix(in srgb,#f87171 12%,transparent);color:#f87171;font-family:inherit;font-weight:700;font-size:.88rem;cursor:pointer;transition:background .25s,color .25s,transform .25s}.admin-logout:hover{background:#f87171;color:#fff;transform:translateY(-2px)}.admin-layout{display:flex;align-items:flex-start;gap:18px}.admin-modules{position:sticky;top:14px;width:252px;flex-shrink:0;display:flex;flex-direction:column;gap:6px;padding:14px;border-radius:18px;z-index:5}.admin-modules-title{font-size:.7rem;font-weight:800;text-transform:uppercase;letter-spacing:.16em;color:var(--text-muted);padding:4px 10px 10px}.admin-modules button{position:relative;display:flex;align-items:center;gap:12px;width:100%;padding:10px 12px;border-radius:12px;border:none;background:transparent;color:var(--text-muted);font-family:inherit;font-size:.9rem;font-weight:700;cursor:pointer;text-align:left;transition:color .25s,background .25s,transform .2s,box-shadow .25s}.admin-modules button:hover{color:var(--text);background:color-mix(in srgb,var(--glass-border) 22%,transparent);transform:translate(3px)}.admin-modules button.active{background:linear-gradient(120deg,var(--grad-1),var(--grad-2),var(--grad-3));color:#fff;box-shadow:0 8px 24px color-mix(in srgb,var(--grad-2) 40%,transparent)}.admin-module-icon{width:34px;height:34px;flex-shrink:0;display:grid;place-items:center;border-radius:10px;font-size:1.05rem;background:color-mix(in srgb,var(--bg-soft) 40%,transparent);border:1px solid var(--glass-border);transition:transform .25s,background .25s,border-color .25s}.admin-modules button:hover .admin-module-icon{transform:scale(1.08)}.admin-modules button.active .admin-module-icon{background:#ffffff2e;border-color:#ffffff59}.admin-module-label{flex:1}.admin-modules button .admin-tab-badge{position:static;flex-shrink:0}.admin-tab-badge{min-width:18px;height:18px;display:grid;place-items:center;border-radius:999px;background:#f87171;color:#fff;font-size:.68rem;font-weight:800;padding:0 5px}.admin-error{color:#f87171;background:color-mix(in srgb,#f87171 10%,transparent);border:1px solid color-mix(in srgb,#f87171 35%,transparent);padding:12px 16px;border-radius:12px;font-weight:600;margin-bottom:16px}.admin-body{flex:1;min-width:0}.admin-loading,.admin-empty{padding:60px 20px;text-align:center;color:var(--text-muted);font-weight:600}.admin-empty{border-radius:18px}.admin-empty span{display:block;font-size:2.4rem;margin-bottom:10px}.admin-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:22px}.admin-kpi{display:flex;align-items:center;gap:16px;padding:22px;border-radius:18px;animation:adminKpiIn .5s cubic-bezier(.22,.61,.36,1) both}@keyframes adminKpiIn{0%{opacity:0;transform:translateY(18px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.admin-kpi-icon{width:48px;height:48px;flex-shrink:0;display:grid;place-items:center;border-radius:14px;font-size:1.4rem;background:linear-gradient(120deg,color-mix(in srgb,var(--grad-1) 18%,transparent),color-mix(in srgb,var(--grad-3) 18%,transparent));border:1px solid var(--glass-border)}.admin-kpi-value{font-size:1.8rem;font-weight:900;line-height:1.1;letter-spacing:-.02em}.admin-kpi-label{color:var(--text-muted);font-size:.85rem;font-weight:600;margin-top:2px}.admin-chart{border-radius:18px;padding:24px;margin-bottom:22px}.admin-chart h3{margin-bottom:20px;font-size:1.02rem;font-weight:800}.admin-bars{display:flex;align-items:flex-end;gap:8px;height:190px;overflow-x:auto;padding-bottom:4px}.admin-bar-col{flex:1;min-width:26px;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:6px;height:100%}.admin-bar{width:100%;max-width:34px;border-radius:8px 8px 4px 4px;background:linear-gradient(180deg,var(--grad-1),var(--grad-2),var(--grad-3));box-shadow:0 0 14px color-mix(in srgb,var(--grad-2) 35%,transparent);position:relative;animation:adminBarGrow .7s cubic-bezier(.22,.61,.36,1) both;transform-origin:bottom}@keyframes adminBarGrow{0%{transform:scaleY(0)}to{transform:scaleY(1)}}.admin-bar-val{position:absolute;top:-18px;left:50%;transform:translate(-50%);font-family:var(--font-mono);font-size:.68rem;font-weight:700;color:var(--accent);white-space:nowrap}.admin-bar-day{font-family:var(--font-mono);font-size:.66rem;color:var(--text-muted);white-space:nowrap}.admin-info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px}.admin-info{border-radius:18px;padding:22px}.admin-info h3{font-size:.95rem;font-weight:800;margin-bottom:14px}.admin-info p{color:var(--text-muted);display:flex;justify-content:space-between;padding:5px 0;border-bottom:1px dashed var(--glass-border)}.admin-info p:last-child{border-bottom:none}.admin-info b{color:var(--text)}.admin-hot{color:#f87171}.admin-dim{color:var(--text-muted);font-style:italic}.admin-messages{display:flex;flex-direction:column;gap:14px}.admin-msg{border-radius:16px;padding:20px 22px;animation:adminKpiIn .4s ease both;transition:opacity .3s,border-color .3s}.admin-msg.read{opacity:.62}.admin-msg-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.admin-msg-name{font-weight:800;font-size:1.02rem}.admin-msg-new{margin-left:10px;padding:3px 10px;border-radius:999px;font-size:.68rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#fff;background:linear-gradient(120deg,var(--grad-1),var(--grad-3));animation:pulse 1.8s infinite}.admin-msg-date{font-family:var(--font-mono);font-size:.75rem;color:var(--text-muted)}.admin-msg-mail{display:inline-block;margin:8px 0 6px;color:var(--accent);font-weight:600;font-size:.9rem;text-decoration:none}.admin-msg-mail:hover{text-decoration:underline}.admin-msg-tg{display:inline-flex;align-items:center;gap:6px;margin:0 0 6px;color:#2aabee;font-weight:700;font-size:.9rem;text-decoration:none;padding:4px 12px;border-radius:999px;background:color-mix(in srgb,#2aabee 10%,transparent);border:1px solid color-mix(in srgb,#2aabee 32%,transparent)}.admin-msg-tg:hover{background:color-mix(in srgb,#2aabee 18%,transparent);text-decoration:none}.admin-msg-text{color:var(--text);line-height:1.65;font-size:.95rem;white-space:pre-wrap}.admin-msg-actions{display:flex;gap:10px;margin-top:14px}.admin-btn{padding:9px 18px;border-radius:999px;border:1px solid var(--glass-border);background:color-mix(in srgb,var(--bg-soft) 28%,transparent);color:var(--text);font-family:inherit;font-size:.85rem;font-weight:700;cursor:pointer;transition:border-color .25s,color .25s,transform .2s,background .25s}.admin-btn:hover{border-color:var(--grad-2);color:var(--accent);transform:translateY(-2px)}.admin-btn.small{padding:7px 14px;font-size:.8rem}.admin-btn.danger{color:#f87171;border-color:color-mix(in srgb,#f87171 40%,transparent)}.admin-btn.danger:hover{background:color-mix(in srgb,#f87171 12%,transparent);border-color:#f87171;color:#f87171}.admin-clicks-total{display:flex;align-items:center;gap:16px;border-radius:18px;padding:24px;margin-bottom:20px}.admin-clicks-list{display:flex;flex-direction:column;gap:14px}.admin-click{border-radius:16px;padding:20px 22px;animation:adminKpiIn .45s ease both}.admin-click-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:14px}.admin-click-head b{font-size:1.05rem}.admin-click-head a{display:block;color:var(--text-muted);font-size:.8rem;text-decoration:none;margin-top:2px}.admin-click-head a:hover{color:var(--accent)}.admin-click-count{font-size:1.7rem;font-weight:900;font-family:var(--font-mono);background:linear-gradient(120deg,var(--grad-1),var(--grad-3));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.admin-click-bar{height:10px;border-radius:999px;background:color-mix(in srgb,var(--glass-border) 45%,transparent);overflow:hidden}.admin-click-bar div{height:100%;border-radius:999px;background:linear-gradient(90deg,var(--grad-1),var(--grad-2),var(--grad-3));box-shadow:0 0 12px color-mix(in srgb,var(--grad-2) 40%,transparent);animation:adminBarGrow .8s cubic-bezier(.22,.61,.36,1) both;transform-origin:left}.admin-click-pct{margin-top:8px;font-family:var(--font-mono);font-size:.75rem;color:var(--text-muted);text-align:right}.admin-content-tabs{display:flex;gap:8px;margin-bottom:16px;flex-wrap:wrap}.admin-content-tabs button{padding:9px 22px;border-radius:999px;border:1px solid var(--glass-border);background:color-mix(in srgb,var(--bg-soft) 25%,transparent);color:var(--text-muted);font-family:inherit;font-size:.88rem;font-weight:700;cursor:pointer;transition:color .25s,border-color .25s,background .25s}.admin-content-tabs button.active{background:linear-gradient(120deg,var(--grad-1),var(--grad-2),var(--grad-3));color:#fff;border-color:transparent}.admin-content-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:16px;padding:24px;border-radius:18px;margin-bottom:26px}.admin-content-form label{display:flex;flex-direction:column;gap:7px;font-size:.8rem;font-weight:700;color:var(--text-muted)}.admin-content-form input{background:color-mix(in srgb,var(--bg-soft) 45%,transparent);border:1px solid var(--glass-border);border-radius:11px;padding:11px 13px;color:var(--text);font-family:inherit;font-size:16px;transition:border-color .2s,box-shadow .2s}.admin-content-form input:focus{outline:none;border-color:var(--grad-2);box-shadow:0 0 0 4px color-mix(in srgb,var(--grad-2) 14%,transparent)}.admin-content-title{font-size:1rem;font-weight:800;margin:26px 0 14px}.admin-project-edit{border-radius:16px;padding:20px 22px;margin-bottom:14px;display:flex;flex-direction:column;gap:12px;animation:adminKpiIn .4s ease both}.admin-project-edit-head{display:flex;align-items:center;gap:12px}.admin-project-edit-head b{font-family:var(--font-mono);color:var(--accent)}.admin-project-edit input,.admin-project-edit textarea{background:color-mix(in srgb,var(--bg-soft) 45%,transparent);border:1px solid var(--glass-border);border-radius:11px;padding:11px 13px;color:var(--text);font-family:inherit;font-size:16px;transition:border-color .2s}.admin-project-edit input:focus,.admin-project-edit textarea:focus{outline:none;border-color:var(--grad-2)}.admin-project-edit-head input{flex:1}.admin-project-edit-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}@media (max-width: 560px){.admin-project-edit-row{grid-template-columns:1fr}}.admin-content-actions{display:flex;align-items:center;gap:14px;margin-top:8px;flex-wrap:wrap}.admin-saved{color:#22c55e;font-weight:800;animation:welcomeIn .4s ease both}.admin-err{color:#f87171;font-weight:800;animation:welcomeIn .4s ease both}@media (max-width: 560px){.admin-panel{padding:16px 12px 50px}}@media (max-width: 900px){.admin-layout{flex-direction:column}.admin-modules{position:static;width:100%;flex-direction:row;overflow-x:auto;-webkit-overflow-scrolling:touch;padding:10px}.admin-modules-title{display:none}.admin-modules button{width:auto;flex-shrink:0;padding:9px 14px;font-size:.84rem}.admin-modules button:hover{transform:none}.admin-module-label{white-space:nowrap}}@media (max-width: 560px){.section{padding:68px 0}.lang-menu{position:fixed;top:78px;left:22px;right:22px;min-width:0;width:auto;max-height:calc(100dvh - 110px);overflow-y:auto;-webkit-overflow-scrolling:touch;border-radius:18px;transform-origin:top center}.weather-menu{left:22px}.container{padding:0 20px}.hero{padding-top:112px;padding-bottom:64px}.hero h1{font-size:clamp(2.1rem,9vw,2.7rem)}.role{font-size:clamp(1.2rem,5.2vw,1.55rem);min-height:2.2rem}.tagline{font-size:1rem}.hero-cta{gap:12px}.btn{padding:13px 26px}.social-btn{padding:9px 15px}.social-label{display:none}.social-btn .social-icon{margin:0 auto}.code-stack{height:264px}.code-card pre{font-size:.76rem;padding:12px 14px}.stats{grid-template-columns:1fr 1fr;gap:14px}.stat-value{font-size:2.1rem}.section-head{margin-bottom:38px}.skill-card,.project-card,.contact-form,.timeline-card{padding:22px 18px}.contact-form{padding:24px 18px}.about-chip{font-size:.8rem;padding:7px 14px 7px 8px}.admin-login{padding:34px 22px 26px}.scroll-top{right:18px;bottom:18px;width:44px;height:44px}}@media (max-width: 400px){.navbar{gap:5px;padding:7px 8px}.navbar .brand-dot{width:26px;height:26px}.nav-actions{gap:6px}.lang-trigger{padding:8px}.lang-trigger .chev{display:none}.sound-toggle,.hamburger{width:34px;height:34px}.theme-toggle{gap:2px;padding:3px 4px}.theme-toggle button{width:30px;height:30px}.nav-links{top:70px;left:12px;right:12px;max-height:calc(100dvh - 100px)}.lang-menu{top:70px;left:12px;right:12px}.hero-grid,.about-grid,.contact-grid{gap:36px}.footer-bottom{gap:10px}}@media (hover: none){.navbar:hover,.brand:hover,.btn:hover,.btn-primary:hover,.btn-outline:hover,.social-btn:hover,.stat-card:hover,.skill-card:hover,.project-card:hover,.timeline-card:hover,.contact-item:hover,.about-chip:hover,.code-card:hover,.code-stack:hover .code-card:not(:hover),.code-card-1:hover,.code-card-2:hover,.code-card-3:hover,.scroll-top.show:not(:hover){transform:none;box-shadow:none}.code-stack:hover .code-card-1{transform:rotate(-1deg)}.code-stack:hover .code-card-2{transform:rotate(1.2deg)}.code-stack:hover .code-card-3{transform:rotate(2.4deg)}.code-card-1:hover{transform:rotate(-1deg);z-index:auto}.code-card-2:hover{transform:rotate(1.2deg);z-index:auto}.code-card-3:hover{transform:rotate(2.4deg);z-index:auto}.marquee:hover .marquee-track{animation-play-state:running}}.news-section{position:relative}.news-head .section-sub{max-width:640px}.news-ticker-wrap{margin-bottom:30px}.news-ticker{position:relative;display:flex;align-items:center;gap:14px;padding:9px 18px;border-radius:999px;overflow:hidden}.news-ticker:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:radial-gradient(120% 160% at 50% -40%,color-mix(in srgb,var(--grad-2) 12%,transparent),transparent 60%)}.news-ticker-live{position:relative;z-index:1;display:inline-flex;align-items:center;gap:8px;flex-shrink:0;padding:6px 14px;border-radius:999px;font-family:var(--font-mono);font-size:.68rem;font-weight:800;letter-spacing:.14em;color:#fff;background:linear-gradient(120deg,var(--grad-1),var(--grad-3));box-shadow:0 6px 18px color-mix(in srgb,var(--grad-2) 45%,transparent)}.news-ticker-live:after{content:"";position:absolute;top:-5px;right:-5px;bottom:-5px;left:-5px;border-radius:inherit;border:1px solid color-mix(in srgb,var(--grad-2) 65%,transparent);animation:livePing 2.4s ease-out infinite}@keyframes livePing{0%{opacity:.9;transform:scale(1)}70%,to{opacity:0;transform:scale(1.45)}}.news-ticker-live .badge-dot{width:7px;height:7px;background:#fff;animation:pulse 1.8s infinite}.news-ticker-scroll{flex:1;min-width:0;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent);mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent)}.news-ticker-track{display:flex;width:max-content;will-change:transform;animation:newsTicker 55s linear infinite}.news-ticker-set{display:flex;align-items:center;gap:44px;padding-right:44px}.news-ticker-item{display:inline-flex;align-items:center;gap:10px;color:var(--text-muted);font-size:.88rem;white-space:nowrap;text-shadow:0 0 14px color-mix(in srgb,var(--grad-2) 22%,transparent);transition:color .25s}.news-ticker:hover .news-ticker-item{color:var(--text)}.news-ticker-item b{color:var(--accent);font-family:var(--font-mono);font-size:.7rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;padding:3px 9px;border-radius:999px;border:1px solid color-mix(in srgb,var(--grad-2) 32%,transparent);background:color-mix(in srgb,var(--grad-2) 8%,transparent);white-space:nowrap}@keyframes newsTicker{0%{transform:translate(0)}to{transform:translate(-25%)}}.news-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:26px}.news-card{border-radius:var(--radius);padding:26px 28px;display:flex;flex-direction:column;gap:12px;min-height:190px;transition:transform .25s,box-shadow .25s,border-color .25s}.news-card:hover{transform:translateY(-7px);border-color:color-mix(in srgb,var(--grad-2) 55%,var(--glass-border));box-shadow:inset 0 1px 0 var(--glass-inset),var(--glow)}.news-card-featured{grid-column:span 2;background:radial-gradient(120% 150% at 100% 0%,color-mix(in srgb,var(--grad-3) 15%,transparent),transparent 55%),linear-gradient(160deg,color-mix(in srgb,var(--card) 62%,transparent),color-mix(in srgb,var(--card) 88%,transparent))}.news-card-top{display:flex;align-items:center;justify-content:space-between;gap:10px}.news-tag{font-family:var(--font-mono);font-size:.7rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);padding:5px 13px;border-radius:999px;border:1px solid color-mix(in srgb,var(--grad-2) 35%,transparent);background:color-mix(in srgb,var(--grad-2) 9%,transparent);transition:transform .25s}.news-card:hover .news-tag{transform:scale(1.06)}.news-date{font-family:var(--font-mono);font-size:.75rem;color:var(--text-muted)}.news-title{font-size:1.1rem;font-weight:800;letter-spacing:-.01em;line-height:1.35}.news-card-featured .news-title{font-size:1.4rem}.news-text{color:var(--text-muted);font-size:.94rem;line-height:1.7}@media (max-width: 760px){.news-card-featured{grid-column:span 1}}@media (max-width: 560px){.news-ticker{border-radius:16px;padding:8px 12px}.news-ticker-live{font-size:.62rem;padding:5px 10px}}.admin-news-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;padding:16px 20px;border-radius:16px;margin-bottom:18px}.admin-news-count{color:var(--text-muted);font-size:.9rem;font-weight:600}.admin-news-count b{color:var(--text)}.admin-news-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.admin-news-save{padding:10px 24px}.admin-news-list{display:flex;flex-direction:column;gap:12px}.admin-news-edit{border-radius:16px;padding:14px 18px;animation:adminKpiIn .4s ease both;transition:border-color .25s}.admin-news-edit.open{border-color:color-mix(in srgb,var(--grad-2) 45%,var(--glass-border))}.admin-news-edit-head{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.admin-news-toggle{width:30px;height:30px;flex-shrink:0;display:grid;place-items:center;border-radius:8px;border:1px solid var(--glass-border);background:color-mix(in srgb,var(--bg-soft) 28%,transparent);color:var(--text-muted);cursor:pointer;transition:color .2s,border-color .2s,transform .25s}.admin-news-toggle:hover{color:var(--accent);border-color:var(--grad-2)}.admin-news-edit.open .admin-news-toggle{transform:rotate(90deg)}.admin-news-edit-head b{font-family:var(--font-mono);color:var(--accent);flex-shrink:0}.admin-news-preview{flex:1;min-width:120px;color:var(--text);font-weight:700;font-size:.95rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-news-pub{display:inline-flex;align-items:center;gap:6px;font-size:.78rem;font-weight:700;color:var(--text-muted);cursor:pointer;padding:5px 12px;border-radius:999px;border:1px solid var(--glass-border);background:color-mix(in srgb,var(--bg-soft) 24%,transparent);transition:color .2s,border-color .2s}.admin-news-pub:hover{color:var(--text);border-color:var(--grad-2)}.admin-news-pub input{accent-color:var(--grad-2)}.admin-news-fields{display:flex;flex-direction:column;gap:12px;margin-top:14px;padding-top:14px;border-top:1px dashed var(--glass-border);animation:adminKpiIn .3s ease both}.admin-news-fields label{display:flex;flex-direction:column;gap:7px;font-size:.8rem;font-weight:700;color:var(--text-muted)}.admin-news-fields input,.admin-news-fields textarea{background:color-mix(in srgb,var(--bg-soft) 45%,transparent);border:1px solid var(--glass-border);border-radius:11px;padding:11px 13px;color:var(--text);font-family:inherit;font-size:16px;transition:border-color .2s,box-shadow .2s;resize:vertical}.admin-news-fields input:focus,.admin-news-fields textarea:focus{outline:none;border-color:var(--grad-2);box-shadow:0 0 0 4px color-mix(in srgb,var(--grad-2) 14%,transparent)}.admin-news-row{display:grid;grid-template-columns:1fr 1.5fr;gap:12px}@media (max-width: 560px){.admin-news-row{grid-template-columns:1fr}.admin-news-preview{min-width:0}}.admin-info{animation:adminKpiIn .45s ease both}.admin-content-form textarea{background:color-mix(in srgb,var(--bg-soft) 45%,transparent);border:1px solid var(--glass-border);border-radius:11px;padding:11px 13px;color:var(--text);font-family:inherit;font-size:16px;resize:vertical;transition:border-color .2s,box-shadow .2s}.admin-content-form textarea:focus{outline:none;border-color:var(--grad-2);box-shadow:0 0 0 4px color-mix(in srgb,var(--grad-2) 14%,transparent)}.admin-socials-list{display:flex;flex-direction:column;gap:12px;margin-bottom:20px}.admin-social-edit{border-radius:16px;padding:16px 18px;display:flex;flex-direction:column;gap:10px;animation:adminKpiIn .4s ease both}.admin-social-edit-head{display:flex;gap:10px}.admin-social-edit-head input{flex:1;min-width:0}.admin-social-icon{width:54px!important;flex:0 0 auto!important;text-align:center}.admin-social-edit input{background:color-mix(in srgb,var(--bg-soft) 45%,transparent);border:1px solid var(--glass-border);border-radius:11px;padding:11px 13px;color:var(--text);font-family:inherit;font-size:16px;transition:border-color .2s,box-shadow .2s}.admin-social-edit input:focus{outline:none;border-color:var(--grad-2);box-shadow:0 0 0 4px color-mix(in srgb,var(--grad-2) 14%,transparent)}.admin-social-edit-actions{display:flex;gap:8px}.admin-toggle-row{flex-direction:row!important;align-items:center;justify-content:space-between;grid-column:1 / -1;gap:16px!important}.admin-toggle-row small{display:block;font-weight:600;margin-top:3px;line-height:1.4}.admin-switch{position:relative;width:52px;height:28px;flex-shrink:0}.admin-switch input{opacity:0;position:absolute;top:0;right:0;bottom:0;left:0;margin:0;cursor:pointer;z-index:2}.admin-switch i{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:999px;background:color-mix(in srgb,var(--glass-border) 60%,transparent);transition:background .25s;pointer-events:none}.admin-switch i:after{content:"";position:absolute;top:3px;left:3px;width:22px;height:22px;border-radius:50%;background:var(--text);transition:transform .25s cubic-bezier(.22,.61,.36,1),background .25s}.admin-switch.on i{background:linear-gradient(120deg,var(--grad-1),var(--grad-3))}.admin-switch.on i:after{transform:translate(24px);background:#fff}.admin-bar-row{display:grid;grid-template-columns:minmax(90px,1.2fr) 2fr 64px 48px;align-items:center;gap:10px;padding:9px 0;border-bottom:1px dashed var(--glass-border);animation:adminKpiIn .4s ease both}.admin-bar-row:last-child{border-bottom:none}.admin-bar-row-label{font-weight:700;font-size:.85rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-bar-row b{font-family:var(--font-mono);text-align:right;font-size:.9rem}.admin-bar-row-pct{color:var(--text-muted);font-size:.72rem;font-family:var(--font-mono);text-align:right}.admin-uptime-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:14px 18px;border-radius:14px;margin-bottom:18px}.admin-uptime-checked{color:var(--text-muted);font-size:.85rem}.admin-uptime-checked b{color:var(--text)}.admin-uptime-list{display:flex;flex-direction:column;gap:12px}.admin-uptime-item{display:flex;align-items:center;gap:14px;border-radius:16px;padding:16px 18px;animation:adminKpiIn .4s ease both}.admin-uptime-dot{width:12px;height:12px;border-radius:50%;flex-shrink:0}.admin-uptime-dot.ok{background:#22c55e;box-shadow:0 0 10px #22c55e8c;animation:upPulse 2s ease-in-out infinite}.admin-uptime-dot.bad{background:#f87171;box-shadow:0 0 10px #f871718c}@keyframes upPulse{0%,to{transform:scale(1)}50%{transform:scale(1.25)}}.admin-uptime-info{flex:1;min-width:0}.admin-uptime-info b{display:block}.admin-uptime-info a{color:var(--text-muted);font-size:.78rem;text-decoration:none}.admin-uptime-info a:hover{color:var(--accent)}.admin-uptime-meta{display:flex;align-items:center;gap:12px;font-size:.8rem;flex-shrink:0;flex-wrap:wrap}.admin-uptime-ok{color:#22c55e;font-weight:800}.admin-uptime-bad{color:#f87171;font-weight:800}.admin-uptime-code,.admin-uptime-ms{font-family:var(--font-mono);color:var(--text-muted);font-size:.75rem}.admin-log-list{display:flex;flex-direction:column;gap:10px}.admin-log-item{display:flex;align-items:flex-start;gap:12px;border-radius:14px;padding:14px 16px;animation:adminKpiIn .35s ease both}.admin-log-dot{width:9px;height:9px;border-radius:50%;margin-top:6px;flex-shrink:0;background:linear-gradient(120deg,var(--grad-1),var(--grad-3));box-shadow:0 0 8px color-mix(in srgb,var(--grad-2) 50%,transparent)}.admin-log-body{flex:1;min-width:0}.admin-log-body p{color:var(--text-muted);font-size:.82rem;margin-top:3px;word-break:break-word}.admin-log-item time{color:var(--text-muted);font-size:.72rem;font-family:var(--font-mono);flex-shrink:0}.admin-notes-write{border-radius:16px;padding:18px;margin-bottom:18px}.admin-notes-write textarea{width:100%;background:color-mix(in srgb,var(--bg-soft) 45%,transparent);border:1px solid var(--glass-border);border-radius:12px;padding:12px 14px;color:var(--text);font-family:inherit;font-size:16px;resize:vertical;transition:border-color .2s,box-shadow .2s}.admin-notes-write textarea:focus{outline:none;border-color:var(--grad-2);box-shadow:0 0 0 4px color-mix(in srgb,var(--grad-2) 14%,transparent)}.admin-notes-write-actions{display:flex;gap:10px;margin-top:12px;flex-wrap:wrap}.admin-notes-list{display:flex;flex-direction:column;gap:12px}.admin-note{border-radius:16px;padding:16px 18px;animation:adminKpiIn .4s ease both}.admin-note p{line-height:1.6;white-space:pre-wrap;word-break:break-word}.admin-note-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:10px}.admin-note-foot time{color:var(--text-muted);font-size:.74rem;font-family:var(--font-mono)}.admin-backup input[type=file]{margin:6px 0 14px;color:var(--text-muted);font-size:.85rem;max-width:100%}.admin-saved.big,.admin-err.big{display:block;margin-top:16px;font-size:1rem}.admin-csv-desc{font-style:normal!important;border-bottom:none!important;justify-content:flex-start!important;padding:0 0 4px!important;line-height:1.5}.admin-info .btn,.admin-info input[type=file]{margin-top:12px}@media (max-width: 560px){.admin-bar-row{grid-template-columns:minmax(70px,1fr) 2fr 52px}.admin-bar-row-pct{display:none}.admin-uptime-item{flex-wrap:wrap}.admin-toggle-row{flex-direction:column!important;align-items:flex-start}}.chat-fab{position:fixed;right:26px;bottom:26px;z-index:1498;width:58px;height:58px;display:grid;place-items:center;border:none;border-radius:50%;cursor:pointer;color:#fff;background:linear-gradient(135deg,var(--grad-1),var(--grad-2),var(--grad-3));box-shadow:0 12px 32px color-mix(in srgb,var(--grad-2) 55%,transparent);transition:transform .25s cubic-bezier(.22,.61,.36,1),box-shadow .25s,opacity .3s}.chat-fab:hover{transform:translateY(-4px) scale(1.06);box-shadow:0 18px 42px color-mix(in srgb,var(--grad-2) 65%,transparent)}.chat-fab.hide{opacity:0;transform:scale(.6);pointer-events:none}.chat-fab-icon{display:grid;place-items:center;animation:chatIconBob 2.6s ease-in-out infinite}.chat-fab-ring{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;border:2px solid color-mix(in srgb,var(--grad-2) 70%,transparent);animation:fabRing 2.4s ease-out infinite;pointer-events:none}.chat-fab-badge{position:absolute;top:-4px;right:-4px;min-width:22px;height:22px;padding:0 5px;display:grid;place-items:center;border-radius:999px;font-size:.72rem;font-weight:800;color:#fff;background:linear-gradient(120deg,#f87171,#ef4444);border:2px solid var(--bg);box-shadow:0 4px 12px #ef444480;animation:fabBadgeIn .35s cubic-bezier(.22,.61,.36,1) both}@keyframes fabBadgeIn{0%{transform:scale(0)}to{transform:scale(1)}}@keyframes fabRing{0%{transform:scale(1);opacity:.9}70%,to{transform:scale(1.6);opacity:0}}@keyframes chatIconBob{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}.chat-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1499;background:#02050f8c;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);opacity:0;pointer-events:none;transition:opacity .4s ease}.chat-backdrop.show{opacity:1;pointer-events:auto}.chat-panel{position:fixed;top:0;right:0;z-index:1500;height:100dvh;width:min(430px,100%);display:flex;flex-direction:column;transform:translate(105%);transition:transform .45s cubic-bezier(.22,.61,.36,1);background:radial-gradient(120% 140% at 100% 0%,color-mix(in srgb,var(--grad-3) 14%,transparent),transparent 55%),linear-gradient(160deg,color-mix(in srgb,var(--bg) 92%,transparent),color-mix(in srgb,var(--bg-soft) 92%,transparent));border-left:1px solid var(--glass-border);box-shadow:-24px 0 60px #00000073}.chat-panel.open{transform:translate(0)}.chat-head{display:flex;align-items:center;gap:12px;padding:16px 18px;border-bottom:1px solid var(--glass-border);background:color-mix(in srgb,var(--bg-soft) 45%,transparent)}.chat-avatar{position:relative;width:44px;height:44px;flex-shrink:0;display:grid;place-items:center;border-radius:50%;font-weight:900;font-size:1.15rem;color:#fff;background:linear-gradient(135deg,var(--grad-1),var(--grad-3));box-shadow:0 6px 18px color-mix(in srgb,var(--grad-2) 45%,transparent)}.chat-avatar-dot{position:absolute;right:0;bottom:0;width:11px;height:11px;border-radius:50%;background:#22c55e;border:2px solid var(--bg);opacity:.35}.chat-avatar-dot.on{opacity:1;animation:pulse 2s infinite}.chat-head-info{flex:1;min-width:0}.chat-head-info b{display:block;font-size:.98rem}.chat-head-info span{color:#22c55e;font-size:.74rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.chat-close{width:34px;height:34px;flex-shrink:0;display:grid;place-items:center;border-radius:50%;border:1px solid var(--glass-border);background:color-mix(in srgb,var(--bg-soft) 30%,transparent);color:var(--text-muted);font-size:.85rem;cursor:pointer;transition:color .2s,border-color .2s,transform .25s}.chat-close:hover{color:var(--accent);border-color:var(--grad-2);transform:rotate(90deg)}.chat-body{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:12px;padding:20px 18px}.chat-start{margin:auto;max-width:280px;text-align:center;color:var(--text-muted);font-size:.9rem;line-height:1.6;animation:adminKpiIn .4s ease both}.chat-start-avatar{width:54px;height:54px;margin:0 auto 14px;display:grid;place-items:center;border-radius:50%;font-weight:900;font-size:1.3rem;color:#fff;background:linear-gradient(135deg,var(--grad-1),var(--grad-3));box-shadow:0 8px 24px color-mix(in srgb,var(--grad-2) 40%,transparent);animation:chatIconBob 2.6s ease-in-out infinite}.chat-msg{display:flex;align-items:flex-end;gap:8px;animation:msgIn .32s cubic-bezier(.22,.61,.36,1) both}.chat-msg.from-user{justify-content:flex-end}@keyframes msgIn{0%{opacity:0;transform:translateY(12px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}.chat-msg-avatar{width:28px;height:28px;flex-shrink:0;display:grid;place-items:center;border-radius:50%;font-size:.72rem;font-weight:800;color:#fff;background:linear-gradient(135deg,var(--grad-1),var(--grad-3))}.chat-msg-avatar.visitor{background:linear-gradient(135deg,var(--text-muted),var(--text))}.chat-bubble{max-width:78%;padding:10px 14px;border-radius:16px;font-size:.92rem;line-height:1.55;word-break:break-word}.chat-msg.from-admin .chat-bubble{border-bottom-left-radius:5px;background:color-mix(in srgb,var(--bg-soft) 55%,transparent);border:1px solid var(--glass-border);color:var(--text)}.chat-msg.from-user .chat-bubble{border-bottom-right-radius:5px;background:linear-gradient(120deg,var(--grad-1),var(--grad-2),var(--grad-3));color:#fff;box-shadow:0 6px 18px color-mix(in srgb,var(--grad-2) 35%,transparent)}.chat-bubble p{white-space:pre-wrap}.chat-bubble time{display:block;margin-top:4px;font-size:.66rem;opacity:.65;text-align:right;font-family:var(--font-mono)}.chat-typing{display:flex;gap:4px;padding:13px 16px}.chat-typing i{width:7px;height:7px;border-radius:50%;background:var(--text-muted);animation:typingDot 1.1s ease-in-out infinite}.chat-typing i:nth-child(2){animation-delay:.15s}.chat-typing i:nth-child(3){animation-delay:.3s}@keyframes typingDot{0%,60%,to{transform:translateY(0);opacity:.4}30%{transform:translateY(-5px);opacity:1}}.chat-name-screen{justify-content:center}.chat-name-form{display:flex;gap:10px;width:100%;max-width:320px;margin:0 auto;animation:adminKpiIn .4s ease both}.chat-name-form input{flex:1;min-width:0;background:color-mix(in srgb,var(--bg-soft) 55%,transparent);border:1px solid var(--glass-border);border-radius:999px;padding:12px 18px;color:var(--text);font-family:inherit;font-size:.95rem;transition:border-color .2s,box-shadow .2s}.chat-name-form input:focus{outline:none;border-color:var(--grad-2);box-shadow:0 0 0 4px color-mix(in srgb,var(--grad-2) 14%,transparent)}.chat-name-btn{flex-shrink:0;padding:0 22px;border:none;border-radius:999px;font-family:inherit;font-weight:800;font-size:.9rem;color:#fff;background:linear-gradient(120deg,var(--grad-1),var(--grad-3));box-shadow:0 6px 16px color-mix(in srgb,var(--grad-2) 40%,transparent);cursor:pointer;transition:transform .2s,opacity .2s}.chat-name-btn:hover:not(:disabled){transform:translateY(-2px)}.chat-name-btn:disabled{opacity:.45;cursor:not-allowed}.chat-foot{display:flex;align-items:center;gap:10px;padding:14px 16px;border-top:1px solid var(--glass-border);background:color-mix(in srgb,var(--bg-soft) 45%,transparent)}.chat-foot input{flex:1;min-width:0;background:color-mix(in srgb,var(--bg-soft) 55%,transparent);border:1px solid var(--glass-border);border-radius:999px;padding:12px 18px;color:var(--text);font-family:inherit;font-size:.95rem;transition:border-color .2s,box-shadow .2s}.chat-foot input:focus{outline:none;border-color:var(--grad-2);box-shadow:0 0 0 4px color-mix(in srgb,var(--grad-2) 14%,transparent)}.chat-send{width:46px;height:46px;flex-shrink:0;display:grid;place-items:center;border:none;border-radius:50%;color:#fff;background:linear-gradient(120deg,var(--grad-1),var(--grad-3));box-shadow:0 6px 16px color-mix(in srgb,var(--grad-2) 40%,transparent);cursor:pointer;transition:transform .2s,box-shadow .2s,opacity .2s}.chat-send:hover:not(:disabled){transform:translateY(-2px) scale(1.05)}.chat-send:disabled{opacity:.45;cursor:not-allowed}.admin-chat-wrap{display:grid;grid-template-columns:300px 1fr;gap:16px;align-items:stretch}.admin-chat-threads{border-radius:18px;overflow:hidden;display:flex;flex-direction:column;height:min(70vh,680px);padding:0}.admin-chat-threads-title{padding:14px 18px;font-size:.85rem;font-weight:800;color:var(--text-muted);border-bottom:1px solid var(--glass-border);background:color-mix(in srgb,var(--bg-soft) 45%,transparent);flex-shrink:0}.admin-chat-threads-list{flex:1;overflow-y:auto;display:flex;flex-direction:column;padding:8px;gap:6px}.admin-chat-thread{display:flex;align-items:center;gap:11px;width:100%;padding:11px 12px;border-radius:14px;border:1px solid transparent;background:color-mix(in srgb,var(--bg-soft) 25%,transparent);color:var(--text);font-family:inherit;text-align:left;cursor:pointer;animation:adminKpiIn .35s ease both;transition:border-color .2s,background .2s}.admin-chat-thread:hover{border-color:var(--glass-border);background:color-mix(in srgb,var(--bg-soft) 45%,transparent)}.admin-chat-thread.active{border-color:color-mix(in srgb,var(--grad-2) 55%,transparent);background:color-mix(in srgb,var(--grad-2) 10%,transparent)}.admin-chat-thread-avatar{width:38px;height:38px;flex-shrink:0;display:grid;place-items:center;border-radius:50%;font-weight:800;font-size:.95rem;color:#fff;background:linear-gradient(135deg,var(--grad-1),var(--grad-3))}.admin-chat-thread-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.admin-chat-thread-info b{font-size:.9rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-chat-thread-last{font-size:.78rem;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-chat-thread-info time{font-family:var(--font-mono);font-size:.66rem;color:var(--text-muted);opacity:.8}.admin-chat-unread{min-width:21px;height:21px;padding:0 5px;flex-shrink:0;display:grid;place-items:center;border-radius:999px;font-size:.7rem;font-weight:800;color:#fff;background:linear-gradient(120deg,#f87171,#ef4444);box-shadow:0 3px 10px #ef444473;animation:fabBadgeIn .35s cubic-bezier(.22,.61,.36,1) both}.admin-chat-empty,.admin-chat-placeholder{margin:auto;text-align:center;color:var(--text-muted);font-size:.9rem;line-height:1.6;padding:24px}.admin-chat-empty span,.admin-chat-placeholder span{display:block;font-size:2rem;margin-bottom:10px}.admin-chat{display:flex;flex-direction:column;border-radius:18px;overflow:hidden;height:min(70vh,680px);padding:0;min-width:0}.admin-chat-head{display:flex;align-items:center;gap:12px;padding:16px 20px;border-bottom:1px solid var(--glass-border);background:color-mix(in srgb,var(--bg-soft) 45%,transparent)}.admin-chat-head-info{flex:1;min-width:0}.admin-chat-head-info b{display:block}.admin-chat-head-info span{color:#22c55e;font-size:.75rem;font-weight:700}.admin-chat-body{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:12px;padding:18px 20px;min-height:240px}.admin-chat-body .chat-msg.from-user{justify-content:flex-start}.admin-chat-body .chat-msg.from-admin{justify-content:flex-end;flex-direction:row-reverse}.admin-chat-body .chat-msg.from-admin .chat-bubble{background:linear-gradient(120deg,var(--grad-1),var(--grad-2),var(--grad-3));color:#fff;border:none;border-bottom-left-radius:16px;border-bottom-right-radius:5px;box-shadow:0 6px 18px color-mix(in srgb,var(--grad-2) 35%,transparent)}.admin-chat-body .chat-msg.from-user .chat-bubble{background:color-mix(in srgb,var(--bg-soft) 55%,transparent);border:1px solid var(--glass-border);color:var(--text);border-bottom-left-radius:5px;border-bottom-right-radius:16px}.admin-chat .chat-send{width:auto;height:auto;padding:12px 22px;border-radius:999px;font-family:inherit;font-size:.9rem;font-weight:800;white-space:nowrap}.admin-chat .chat-send:disabled{opacity:.45;cursor:not-allowed}.admin-chat-body .admin-empty{margin:auto}@media (max-width: 900px){.admin-chat-wrap{grid-template-columns:1fr}.admin-chat-threads{height:auto;max-height:240px}.admin-chat-threads-list{flex-direction:row;overflow-x:auto;overflow-y:hidden}.admin-chat-thread{min-width:220px;flex-shrink:0}}@media (max-width: 560px){.chat-panel{width:100%}.chat-fab{right:16px;bottom:16px;width:54px;height:54px}.chat-bubble{max-width:86%}.admin-chat{height:auto;min-height:60vh}}
