@import url(https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600&display=swap);:root{--primary-50:#e6f1ff;--primary-100:#cce3ff;--primary-500:#1e73be;--primary-600:#185ca1;--primary-700:#124584;--secondary-400:#ffbf33;--secondary-500:#ffaf00;--secondary-600:#cc8c00;--gray-50:#f9fafb;--gray-100:#f3f4f6;--gray-200:#e5e7eb;--gray-300:#d1d5db;--gray-600:#4b5563;--gray-700:#374151;--gray-800:#1f2937;--gray-900:#111827;--bg-color:#fff;--text-color:#111827;--text-secondary:#4b5563;--border-color:#e5e7eb}.dark{--bg-color:#111827;--text-color:#f9fafb;--text-secondary:#d1d5db;--border-color:#374151}html{scroll-behavior:smooth}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.dark-mode-transition{transition:background-color .3s ease,color .3s ease}.btn-modern{align-items:center;border:none;border-radius:.5rem;box-shadow:0 4px 6px -1px #0000001a;cursor:pointer;display:inline-flex;font-weight:600;gap:.5rem;justify-content:center;padding:.75rem 1.5rem;transform:scale(1);transition:all .3s ease}.btn-modern:hover{box-shadow:0 10px 15px -3px #0000001a;transform:scale(1.05)}.btn-modern:active{transform:scale(.95)}.btn-primary{background:linear-gradient(90deg,#1e73be,#185ca1);background:linear-gradient(to right,var(--primary-500),var(--primary-600));color:#fff}.btn-primary:hover{background:linear-gradient(90deg,#185ca1,#124584);background:linear-gradient(to right,var(--primary-600),var(--primary-700))}.btn-secondary{background:linear-gradient(90deg,#ffbf33,#ffaf00);background:linear-gradient(to right,var(--secondary-400),var(--secondary-500));color:#fff}.btn-secondary:hover{background:linear-gradient(90deg,#ffaf00,#cc8c00);background:linear-gradient(to right,var(--secondary-500),var(--secondary-600))}.btn-outline{background:#0000;border:2px solid #1e73be;border:2px solid var(--primary-500);color:#1e73be;color:var(--primary-500)}.btn-outline:hover{background:#1e73be;background:var(--primary-500);color:#fff}.card-modern{background:#fff;background:var(--bg-color);border-radius:1rem;box-shadow:0 2px 15px -3px #00000012;overflow:hidden;transition:all .3s ease}.dark .card-modern{background:#1f2937;background:var(--gray-800)}.card-modern:hover{box-shadow:0 4px 20px -2px #0000001a}.card-hover{transform:translateY(0)}.card-hover:hover{transform:translateY(-.5rem)}.input-modern{background:#fff;background:var(--bg-color);border:2px solid #e5e7eb;border:2px solid var(--border-color);border-radius:.5rem;color:#111827;color:var(--text-color);outline:none;padding:.75rem 1rem;transition:all .2s ease;width:100%}.input-modern:focus{border-color:#1e73be;border-color:var(--primary-500);box-shadow:0 0 0 4px #1e73be1a}.dark .input-modern{background:#374151;background:var(--gray-700);color:#111827;color:var(--text-color)}.glass{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffc;border:1px solid #fff3}.dark .glass{background:#1f2937cc;border:1px solid #37415133}.gradient-text{-webkit-text-fill-color:#0000;background:linear-gradient(90deg,#1e73be,#ffaf00);background:linear-gradient(to right,var(--primary-500),var(--secondary-500));-webkit-background-clip:text;background-clip:text}.section-container{margin:0 auto;max-width:1280px;padding:3rem 1rem}@media (min-width:640px){.section-container{padding:3rem 1.5rem}}@media (min-width:1024px){.section-container{padding:5rem 2rem}}.badge-modern{align-items:center;background:#cce3ff;background:var(--primary-100);border-radius:9999px;color:#124584;color:var(--primary-700);display:inline-flex;font-size:.875rem;font-weight:500;padding:.5rem .75rem}.dark .badge-modern{background:var(--primary-900);color:#cce3ff;color:var(--primary-100)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInLeft{0%{opacity:0;transform:translateX(-20px)}to{opacity:1;transform:translateX(0)}}@keyframes slideInRight{0%{opacity:0;transform:translateX(20px)}to{opacity:1;transform:translateX(0)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-20px)}}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.animate-fade-in{animation:fadeIn .5s ease-in}.animate-fade-in-up{animation:fadeInUp .6s ease-out}.animate-fade-in-down{animation:fadeInDown .6s ease-out}.animate-slide-in-left{animation:slideInLeft .6s ease-out}.animate-slide-in-right{animation:slideInRight .6s ease-out}.animate-float{animation:float 3s ease-in-out infinite}.animate-spin{animation:spin 1s linear infinite}::-webkit-scrollbar{width:10px}::-webkit-scrollbar-track{background:#f3f4f6;background:var(--gray-100)}.dark ::-webkit-scrollbar-track{background:#111827;background:var(--gray-900)}::-webkit-scrollbar-thumb{background:linear-gradient(to bottom,var(--primary-400),#185ca1);background:linear-gradient(to bottom,var(--primary-400),var(--primary-600));border-radius:9999px}::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,#1e73be,#124584);background:linear-gradient(to bottom,var(--primary-500),var(--primary-700))}.hover-scale-sm{transition:transform .3s ease}.hover-scale-sm:hover{transform:scale(1.05)}.hover-scale-md{transition:transform .3s ease}.hover-scale-md:hover{transform:scale(1.1)}.shadow-soft{box-shadow:0 2px 15px -3px #00000012,0 10px 20px -2px #0000000a}.shadow-medium{box-shadow:0 4px 20px -2px #0000001a,0 12px 28px -4px #00000014}.shadow-hard{box-shadow:0 10px 40px -5px #0003,0 20px 50px -8px #00000026}.grid-pattern{background-image:linear-gradient(#1e73be0d 1px,#0000 0),linear-gradient(90deg,#1e73be0d 1px,#0000 0);background-size:50px 50px}@keyframes shimmer{0%{background-position:-1000px 0}to{background-position:1000px 0}}.skeleton{animation:shimmer 2s infinite;background:#e5e7eb;background:var(--gray-200);background-image:linear-gradient(90deg,#fff0,#fff3 20%,#ffffff80 60%,#fff0);background-size:1000px 100%;border-radius:.25rem}.dark .skeleton{background:#374151;background:var(--gray-700)}.transition-smooth{transition:all .3s ease-in-out}.text-shadow{text-shadow:0 2px 4px #0000001a}.text-shadow-lg{text-shadow:0 4px 8px #0003}.hidden-mobile{display:none}@media (min-width:768px){.hidden-mobile{display:block}}.hidden-desktop{display:block}@media (min-width:768px){.hidden-desktop{display:none}}.rp-widget{--rp-primary:#6c63ff;--rp-primary-dark:#4a42d8;--rp-bg:#0f0f19f2;--rp-surface:#1e1e32e6;--rp-border:#6c63ff40;--rp-text:#e8e8ff;--rp-text-muted:#88a;--rp-user-bubble:linear-gradient(135deg,#6c63ff,#4a42d8);--rp-bot-bubble:#282841f2;--rp-radius:20px;--rp-shadow:0 25px 60px #00000080,0 0 0 1px #6c63ff26;bottom:96px;font-family:Inter,Hanuman,Khmer OS,sans-serif;position:fixed;right:24px;z-index:9999}.rp-fab{align-items:center;animation:rp-pulse 3s ease-in-out infinite;background:var(--rp-user-bubble);border:none;border-radius:50%;box-shadow:0 8px 30px #6c63ff80;cursor:pointer;display:flex;font-size:26px;height:60px;justify-content:center;position:relative;transition:transform .3s cubic-bezier(.34,1.56,.64,1),box-shadow .3s ease;width:60px}.rp-fab:hover{box-shadow:0 12px 40px #6c63ffb3;transform:scale(1.12)}.rp-fab--open{animation:none;background:linear-gradient(135deg,#ff6b6b,#d84a4a);transform:rotate(0deg) scale(1)}@keyframes rp-pulse{0%,to{box-shadow:0 8px 30px #6c63ff80}50%{box-shadow:0 8px 40px #6c63ffcc,0 0 0 8px #6c63ff1a}}.rp-badge{align-items:center;animation:rp-bounce .4s cubic-bezier(.34,1.56,.64,1);background:#ff4757;border:2px solid #0f0f19;border-radius:50%;color:#fff;display:flex;font-size:11px;font-weight:700;height:20px;justify-content:center;position:absolute;right:0;top:0;width:20px}@keyframes rp-bounce{0%{transform:scale(0)}to{transform:scale(1)}}.rp-panel{backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);background:var(--rp-bg);border:1px solid var(--rp-border);border-radius:var(--rp-radius);bottom:74px;box-shadow:var(--rp-shadow);display:flex;flex-direction:column;height:520px;opacity:0;overflow:hidden;pointer-events:none;position:absolute;right:0;transform:scale(.85) translateY(16px);transform-origin:bottom right;transition:transform .3s cubic-bezier(.34,1.56,.64,1),opacity .25s ease;width:360px}.rp-panel--open{opacity:1;pointer-events:auto;transform:scale(1) translateY(0)}.rp-header{background:linear-gradient(135deg,#6c63ff33,#4a42d826);border-bottom:1px solid var(--rp-border);flex-shrink:0;gap:12px;padding:16px 18px}.rp-header,.rp-header-avatar{align-items:center;display:flex}.rp-header-avatar{background:#6c63ff33;border:1.5px solid #6c63ff66;border-radius:50%;font-size:28px;height:44px;justify-content:center;width:44px}.rp-header-info{display:flex;flex:1 1;flex-direction:column;gap:3px}.rp-header-name{color:var(--rp-text);font-size:14px;font-weight:600;letter-spacing:.2px}.rp-header-status{align-items:center;color:var(--rp-text-muted);display:flex;font-size:11px;gap:5px}.rp-status-dot{animation:rp-pulse-dot 2s ease-in-out infinite;background:#2ecc71;border-radius:50%;box-shadow:0 0 6px #2ecc71;height:7px;width:7px}@keyframes rp-pulse-dot{0%,to{opacity:1}50%{opacity:.4}}.rp-close{align-items:center;background:#ffffff0d;border:none;border-radius:8px;color:var(--rp-text-muted);cursor:pointer;display:flex;font-size:14px;height:30px;justify-content:center;transition:background .2s,color .2s;width:30px}.rp-close:hover{background:#ff626233;color:#ff6b6b}.rp-messages{display:flex;flex:1 1;flex-direction:column;gap:12px;overflow-y:auto;padding:16px 14px;scrollbar-color:#6c63ff4d #0000;scrollbar-width:thin}.rp-messages::-webkit-scrollbar{width:4px}.rp-messages::-webkit-scrollbar-thumb{background:#6c63ff4d;border-radius:4px}.rp-msg{align-items:flex-end;animation:rp-fadein .25s ease;display:flex;gap:8px}@keyframes rp-fadein{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.rp-msg--user{flex-direction:row-reverse}.rp-avatar{align-items:center;background:#282841e6;border:1px solid var(--rp-border);border-radius:50%;display:flex;flex-shrink:0;font-size:20px;height:32px;justify-content:center;width:32px}.rp-bubble{border-radius:18px;max-width:78%;padding:10px 14px;position:relative}.rp-msg--bot .rp-bubble{background:var(--rp-bot-bubble);border:1px solid var(--rp-border);border-bottom-left-radius:4px;color:var(--rp-text)}.rp-msg--user .rp-bubble{background:var(--rp-user-bubble);border-bottom-right-radius:4px;color:#fff}.rp-bubble-text{font-size:13.5px;line-height:1.65;word-break:break-word}.rp-bubble-text strong{font-weight:600}.rp-line{min-height:1.2em}.rp-bubble-time{font-size:10px;margin-top:5px;opacity:.5;text-align:right}.rp-typing{align-items:center;display:flex;gap:5px;min-width:56px;padding:12px 16px!important}.rp-typing span{animation:rp-bounce-dot 1.2s ease-in-out infinite;background:var(--rp-text-muted);border-radius:50%;height:7px;width:7px}.rp-typing span:first-child{animation-delay:0s}.rp-typing span:nth-child(2){animation-delay:.2s}.rp-typing span:nth-child(3){animation-delay:.4s}@keyframes rp-bounce-dot{0%,60%,to{opacity:.4;transform:translateY(0)}30%{opacity:1;transform:translateY(-6px)}}.rp-input-row{background:#0a0a1499;border-top:1px solid var(--rp-border);display:flex;flex-shrink:0;gap:8px;padding:12px 14px}.rp-input{background:#ffffff0f;border:1px solid #6c63ff33;border-radius:14px;color:var(--rp-text);flex:1 1;font-family:inherit;font-size:13.5px;outline:none;padding:10px 14px;transition:border-color .2s,background .2s}.rp-input::placeholder{color:var(--rp-text-muted)}.rp-input:focus{background:#ffffff17;border-color:#6c63ff80}.rp-send{align-items:center;background:var(--rp-user-bubble);border:none;border-radius:12px;color:#fff;cursor:pointer;display:flex;flex-shrink:0;font-size:18px;height:42px;justify-content:center;transition:transform .2s,opacity .2s,box-shadow .2s;width:42px}.rp-send:hover:not(:disabled){box-shadow:0 4px 18px #6c63ff80;transform:scale(1.08)}.rp-send:disabled{cursor:not-allowed;opacity:.4}@media (max-width:420px){.rp-widget{bottom:90px;right:12px}.rp-panel{height:75vh;right:-12px;width:calc(100vw - 24px)}}.scrolling-banner-wrapper{backface-visibility:hidden;background:linear-gradient(135deg,#1e73be,#003d82 50%,#001f4d);box-shadow:0 4px 15px #0003;overflow:hidden;position:relative;transform:translateZ(0);width:100%}.scrolling-banner-container{align-items:center;font-weight:500;height:45px;letter-spacing:1px;min-height:45px}.scrolling-banner-container,.scrolling-banner-content{backface-visibility:hidden;display:flex;transform:translateZ(0)}.scrolling-banner-content{gap:80px;padding:0 20px;white-space:nowrap;will-change:transform}.scrolling-banner-item{align-items:center;color:#fff;display:flex;flex-shrink:0;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;font-size:14px;padding:5px 0;text-shadow:0 2px 4px #0000004d}@keyframes scroll-infinite{0%{transform:translateX(0)}to{transform:translateX(-50%)}}.scrolling-banner-gradient-left,.scrolling-banner-gradient-right{height:100%;pointer-events:none;position:absolute;top:0;width:80px;z-index:10}.scrolling-banner-gradient-left{background:linear-gradient(90deg,#1e73be,#1e73be00);left:0}.scrolling-banner-gradient-right{background:linear-gradient(270deg,#1e73be,#1e73be00);right:0}@media (max-width:768px){.scrolling-banner-container{height:40px;min-height:40px}.scrolling-banner-content{gap:60px;padding:0 15px}.scrolling-banner-item{font-size:12px}.scrolling-banner-gradient-left,.scrolling-banner-gradient-right{width:50px}}@media (max-width:576px){.scrolling-banner-container{height:35px;min-height:35px}.scrolling-banner-content{gap:40px;padding:0 10px}.scrolling-banner-item{font-size:11px}.scrolling-banner-gradient-left,.scrolling-banner-gradient-right{width:40px}}.scrolling-banner-wrapper:hover .scrolling-banner-content{animation-play-state:paused}@media (prefers-reduced-motion:reduce){.scrolling-banner-content{animation:none}}.modern-header{position:relative;z-index:1000}.modern-header-top{background:linear-gradient(135deg,#1e73be,#185ca1);color:#fff;font-size:.875rem;padding:10px 0}.modern-container{margin:0 auto;max-width:1280px;padding:0 1.5rem}.modern-top-content{align-items:center;display:flex;flex-wrap:nowrap;gap:1rem;justify-content:space-between;white-space:nowrap}.modern-top-left{align-items:center;display:flex;gap:.5rem}.header-separator{margin:0 .25rem;opacity:.4}.khmer-lunar-date{display:flex;flex-direction:column;font-size:.8rem;line-height:1.8;opacity:.9;text-align:center;white-space:nowrap}.khmer-lunar-gregorian{font-size:.8rem}@media (max-width:1200px){.header-separator,.khmer-lunar-date,.modern-top-left .icon-inline:last-of-type{display:none}}.modern-top-right{align-items:center;display:flex;flex-wrap:nowrap;gap:1rem;white-space:nowrap}.modern-link{color:#fff;text-decoration:none;transition:all .3s ease}.modern-link:hover{opacity:.8;transform:translateY(-1px)}.modern-top-link{align-items:center;border-radius:.375rem;color:#fff;display:flex;flex-shrink:0;font-weight:500;gap:.375rem;padding:.25rem .75rem;text-decoration:none;transition:all .3s ease}.modern-top-link:hover{background:#ffffff26;transform:translateY(-2px)}.modern-top-link.active{background:#fff3;box-shadow:0 2px 8px #0000001a}.modern-top-link.auth-link{background:#ffffff1a;border:1px solid #ffffff4d}.modern-top-link.auth-link:hover{background:#ffffff40;border-color:#ffffff80}.modern-top-dropdown-container{align-items:center;border-radius:.375rem;display:flex;position:relative;transition:background .3s ease;z-index:1000}.modern-top-dropdown-container:hover{background:#ffffff26}.icon-inline{height:16px;width:16px}.modern-nav{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff2;box-shadow:0 2px 20px #00000014;position:relative;transition:all .3s ease}.modern-nav-sticky{animation:slideDown .3s ease;box-shadow:0 4px 30px #0000001f;left:0;position:fixed;right:0;top:0;z-index:999}@keyframes slideDown{0%{opacity:0;transform:translateY(-100%)}to{opacity:1;transform:translateY(0)}}.modern-nav-content{align-items:center;display:flex;flex-wrap:nowrap;justify-content:space-between;padding:.5rem 0;white-space:nowrap}.modern-logo{align-items:center;display:flex;transition:transform .3s ease}.modern-logo:hover{transform:scale(1.05)}.modern-logo img{height:60px;width:auto}.modern-menu-desktop{display:none;gap:1rem;list-style:none;margin:0;padding:0}@media (min-width:1024px){.modern-menu-desktop{display:flex}}.modern-menu-link{color:#1f2937;display:block;font-size:1.05rem;font-weight:600;padding:.6rem .5rem;position:relative;text-decoration:none;transition:all .3s ease;white-space:nowrap}.modern-menu-link:after{background:linear-gradient(90deg,#1e73be,#ffaf00);border-radius:0;bottom:8px;content:"";height:2px;left:50%;position:absolute;transform:translateX(-50%) scaleX(0);transition:transform .3s ease;width:60%}.modern-menu-link:hover{background:#0000;border:none;border-radius:0;color:#1e73be;outline:none}.modern-menu-link:hover:after{transform:translateX(-50%) scaleX(1)}.modern-menu-link.active{background:#0000!important;border:none!important;border-radius:0!important;color:#1e73be!important;outline:none!important}.modern-menu-link.active:after{opacity:1!important;transform:translateX(-50%) scaleX(1)!important}.modern-menu-link:focus{border:none!important;outline:none!important}.modern-menu-toggle{align-items:center;background:linear-gradient(135deg,#1e73be,#185ca1);border:none;border-radius:.5rem;box-shadow:0 4px 12px #1e73be4d;color:#fff;cursor:pointer;display:flex;justify-content:center;padding:.75rem;transition:all .3s ease}@media (min-width:1024px){.modern-menu-toggle{display:none}}.modern-menu-toggle:hover{box-shadow:0 6px 16px #1e73be66;transform:scale(1.05)}.modern-menu-toggle:active{transform:scale(.95)}.modern-menu-toggle.active{background:linear-gradient(135deg,#dc2626,#b91c1c)}.modern-mobile-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#00000080;bottom:0;left:0;opacity:0;position:fixed;right:0;top:0;transition:all .3s ease;visibility:hidden;z-index:998}.modern-mobile-overlay.active{opacity:1;visibility:visible}.modern-mobile-menu{background:#fff;box-shadow:-4px 0 30px #00000026;height:100vh;max-width:400px;overflow-y:auto;position:fixed;right:-100%;top:0;transition:right .4s cubic-bezier(.68,-.55,.265,1.55);width:100%;z-index:999}.modern-mobile-menu.active{right:0}.modern-mobile-header{align-items:center;background:linear-gradient(135deg,#1e73be,#185ca1);color:#fff;display:flex;justify-content:space-between;padding:1.5rem}.modern-mobile-logo{filter:brightness(0) invert(1);height:50px;width:auto}.modern-close-btn{align-items:center;background:#fff3;border:none;border-radius:.5rem;color:#fff;cursor:pointer;display:flex;justify-content:center;padding:.5rem;transition:all .3s ease}.modern-close-btn:hover{background:#ffffff4d;transform:rotate(90deg)}.modern-mobile-links{list-style:none;margin:0;padding:1rem 0}.modern-mobile-link{align-items:center;border-left:4px solid #0000;color:#1f2937;display:flex;font-size:1rem;font-weight:600;gap:.75rem;padding:1rem 1.5rem;text-decoration:none;transition:all .3s ease}.modern-mobile-link:hover{background:#1e73be0d;border-left-color:#1e73be;padding-left:2rem}.modern-mobile-link.active{background:linear-gradient(90deg,#1e73be1a,#0000);border-left-color:#1e73be;color:#1e73be}.modern-mobile-link.auth-link{color:#1e73be;font-weight:700}.modern-mobile-divider{background:linear-gradient(90deg,#0000,#e5e7eb 50%,#0000);height:1px;margin:.5rem 1.5rem}.modern-mobile-lang{background:#f9fafb;border-top:1px solid #e5e7eb;padding:1.5rem}@media (max-width:768px){.modern-top-right{display:none}.modern-logo img{height:45px}}@media (max-width:480px){.modern-mobile-menu{max-width:100%}}html{scroll-padding-top:140px}.modern-nav-sticky~*{padding-top:80px}.modern-menu-link,.modern-top-link{overflow:hidden;position:relative}.modern-menu-link:before,.modern-top-link:before{background:radial-gradient(circle,#1e73be33 0,#0000 70%);border-radius:50%;content:"";height:0;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);transition:width .6s ease,height .6s ease;width:0}.modern-menu-link:hover:before,.modern-top-link:hover:before{height:300px;width:300px}.modern-close-btn:focus,.modern-menu-link:focus,.modern-menu-toggle:focus,.modern-mobile-link:focus{outline:2px solid #1e73be;outline-offset:2px}@media print{.modern-header-top,.modern-menu-toggle,.modern-mobile-menu{display:none!important}}