@import"https://fonts.googleapis.com/css2?family=Bai+Jamjuree:wght@600;700&family=Kanit:wght@500;600&family=Prompt:wght@400;500&family=Taviraj:wght@400;500&display=swap";@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;700;800&display=swap";@import"https://fonts.googleapis.com/css2?family=Kanit:wght@400;500;600;700&family=Prompt:wght@300;400;500;600&display=swap";:root{--color-bg: #F0EEE9;--color-secondary: #1E3A8A;--color-primary-light: #F3F4F6;--color-foreground-2: #374151;--color-asset: #2F57C3;--font-h1-desktop: 700 63px "Bai Jamjuree", sans-serif;--font-head-th-desktop: 500 63px "Kanit", sans-serif;--font-head-eng-desktop: 600 52px "Bai Jamjuree", sans-serif;--font-section-th-desktop: 500 36px "Prompt", sans-serif;--font-section-eng-desktop: 400 32px "Taviraj", serif;--font-body-desktop: 400 18px "Prompt", sans-serif;--font-h1: var(--font-h1-desktop);--font-head-th: var(--font-head-th-desktop);--font-head-eng: var(--font-head-eng-desktop);--font-section-th: var(--font-section-th-desktop);--font-section-eng: var(--font-section-eng-desktop);--font-body: var(--font-body-desktop)}@media(max-width:768px){:root{--font-h1: 700 48px "Bai Jamjuree", sans-serif;--font-head-th: 600 36px "Kanit", sans-serif;--font-head-eng: 600 36px "Bai Jamjuree", sans-serif;--font-section-th: 500 24px "Kanit", sans-serif;--font-section-eng: 500 24px "Taviraj", serif}}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%;width:100%}body{margin:0;padding:0;background-color:var(--color-bg);min-height:100vh}.home-page-container{--bg-dark: #000000;--bg-blue: #1E3A8A;--text-main: #ffffff;--text-muted: #94949e;--accent-blue: #8fa1ff;--accent-cyan: #a1e3ff;margin:0;padding:0;background:linear-gradient(180deg,var(--bg-dark) 0%,var(--bg-blue) 160%);background-attachment:fixed;min-height:100vh;color:var(--text-main);font-family:Inter,sans-serif;overflow-x:hidden}.logo-image{height:60px;width:auto;display:block;filter:drop-shadow(0 0 14px #ffffff67);transition:filter .3s ease}.logo-image:hover{filter:drop-shadow(0 0 20px rgba(255,255,255,.7))}.navbar-wrapper{position:fixed;top:30px;left:50%;transform:translate(-50%);width:90%;max-width:1200px;display:flex;justify-content:space-between;align-items:center;z-index:1000}.glass-menu-capsule{display:flex;align-items:center;padding:8px 10px 8px 30px;background:#ffffff0d;backdrop-filter:blur(15px);-webkit-backdrop-filter:blur(15px);border:1px solid rgba(255,255,255,.1);border-radius:100px;box-shadow:0 4px 30px #00000080}.nav-links-list{display:flex;list-style:none;gap:35px;margin:0 25px 0 0;padding:0}.nav-links-list li a{text-decoration:none;color:#fff9;font-size:.85rem;font-weight:500;transition:all .3s ease}.nav-links-list li a:hover{color:#fff;text-shadow:0 0 8px rgba(255,255,255,.5)}.berger-menu{display:none}@media(max-width:768px){.berger-menu{display:flex;flex-direction:column;cursor:pointer;gap:4px;z-index:2000;padding:10px;background:#ffffff1a;border-radius:10px;border:1px solid rgba(255,255,255,.1);justify-content:center;align-items:center;width:40px;height:40px;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.berger-menu span{display:block;width:22px;height:2px;background-color:#ffffff7b;transition:.3s;border-radius:2px}.glass-menu-capsule{position:fixed;top:60px;right:-100%;transition:.2s ease-in-out;flex-direction:column;background:#ffffff26;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(5px);width:120px;padding:20px 0;border-radius:20px;border:1px solid rgba(255,255,255,.1);box-shadow:0 10px 30px #00000080}.glass-menu-capsule.open{right:0}.nav-links-list{flex-direction:column;gap:15px;text-align:center;margin-right:0}.berger-menu.active span:nth-child(1){transform:translateY(8px) rotate(45deg)}.berger-menu.active span:nth-child(2){opacity:0}.berger-menu.active span:nth-child(3){transform:translateY(-8px) rotate(-45deg)}}.home-section{position:relative;justify-content:flex-start}.home-background-full{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;z-index:0;opacity:.4;filter:blur(1px);pointer-events:none}.home-content{position:relative;z-index:1;width:100%;padding-left:25%;padding-right:8%;transition:padding .3s ease}h1{font-size:52px;line-height:1.1;font-weight:700;margin:0 0 20px}.gradient-blue{background:linear-gradient(90deg,var(--accent-blue),var(--accent-cyan));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.description{color:var(--text-muted);max-width:460px;line-height:1.6;margin-bottom:40px}.button-group{display:flex;gap:16px;margin-bottom:60px}.btn-primary{padding:14px 32px;background-color:#fff;color:#000;border:none;border-radius:8px;font-weight:600;cursor:pointer}.btn-secondary{padding:14px 32px;background-color:#ffffff0d;color:#fff;border:1px solid #333;border-radius:8px;cursor:pointer}.full-page{position:relative;width:100%;min-height:100vh;display:flex;align-items:center;box-sizing:border-box}.container-split{width:100%;display:flex;flex-direction:row;align-items:center;padding:0 5%}.split-left,.split-right{flex:1;padding:20px}.success-title,.section-title-alt{font-size:3rem;font-weight:800;color:#fff;margin:10px 0;padding-bottom:5px;letter-spacing:1px}.success-list{display:flex;flex-direction:column;gap:20px}.success-item{display:flex;align-items:flex-start;gap:15px}.success-icon{font-size:1rem;background:#ffffff1a;padding:8px;border-radius:12px;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.success-text h3{font-size:1.4rem;margin:0 0 10px;color:#fff}.success-text p,.section-description{max-width:100%;width:100%;word-break:break-word;overflow-wrap:break-word;white-space:normal;text-align:justify;text-justify:inter-character;line-height:1.8;color:#ffffffb3;margin-top:10px}.success-icon-img{width:40px;height:40px;object-fit:contain}.section-subtitle{font-size:1.6rem;font-weight:600;color:#fff;margin:10px 0 25px}.right-align-text{display:flex;flex-direction:column;align-items:flex-end;text-align:right}.left-align-text{display:flex;flex-direction:column;align-items:flex-start;text-align:left}.contact-list{display:flex;flex-direction:column;list-style:none;padding:0;font-size:.9rem}.contact-list li{margin-bottom:12px;display:flex;align-items:center;gap:12px;color:#fffc}.right-align-text .contact-list li{justify-content:flex-end}.right-align-text .section-description{margin-left:auto;text-align:justify;text-justify:inter-character;text-align-last:right;width:100%;line-height:1.8}.contact-icon-mini{width:20px;height:20px;object-fit:contain;filter:drop-shadow(0 0 2px rgba(255,255,255,.2))}.footer-container{background-color:#374151;color:#fff;padding:60px 0;width:100%;position:relative;z-index:50;margin-top:50px}.footer-content{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:1fr 1.5fr 1fr;gap:40px;padding:0 24px}.footer-title{font-size:1.1rem;margin-bottom:20px;border-bottom:2px solid #fff;display:inline-block;padding-bottom:4px}.footer-logo{height:60px;margin-bottom:20px}.copyright-text{font-size:.8rem;line-height:1.6;opacity:1;margin-top:114px}.footer-map{flex:1;display:flex;flex-direction:column}.map-wrapper-frame{width:100%;height:200px;border-radius:12px;overflow:hidden;border:2px solid rgba(255,255,255,.1);box-shadow:0 10px 30px #0000004d;margin-bottom:15px}.map-wrapper-frame iframe{width:100%;height:100%;filter:grayscale(20%) contrast(1.1)}.btn-view-map{display:inline-block;padding:10px 20px;background-color:#ffffff0d;color:#fff;text-decoration:none;font-size:.8rem;border:1px solid rgba(255,255,255,.2);border-radius:6px;text-align:center;transition:all .3s ease}.btn-view-map:hover{background-color:#fff;color:#000;transform:translateY(-2px)}@media(max-width:850px){.footer-content{grid-template-columns:1fr;text-align:center}}@media(max-width:768px){.container-split{flex-direction:column}.split-left,.split-right{width:100%;padding:10px}.right-align-text,.left-align-text{align-items:center;text-align:center}.right-align-text .section-description,.left-align-text .section-description{text-align-last:center}.right-align-text .contact-list li,.left-align-text .contact-list li{justify-content:center}.home-section{justify-content:center;text-align:center}.home-content{padding:0 20px;display:flex;flex-direction:column;align-items:center}h1{font-size:32px;line-height:1.3;margin-bottom:20px}h1 span{display:block}h1 br{display:none}.description{font-size:.95rem;margin:0 auto 30px;max-width:100%}.button-group{flex-direction:column;width:100%;max-width:300px;gap:12px}.btn-primary,.btn-secondary{width:100%;padding:12px 20px}.home-background-full{opacity:.3;object-position:75% center}}:root{--btn-bg: #e0e0e0;--btn-active-bg: #ffffff;--line-color: rgba(255, 255, 255, .4);--glow-color: rgba(255, 255, 255, .8)}.node-container{position:relative;width:100%;height:600px;display:flex;justify-content:center;align-items:center}.title-center{position:absolute;top:35%;left:50%;transform:translate(-50%);font-size:2rem;color:#b89766;font-weight:700;z-index:5;text-align:center}.node-btn{position:absolute;width:50px;height:55px;background-color:transparent;border-radius:12px;border:none;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:0;opacity:0;z-index:10;transform:translate(-50%,-50%) scale(.8);overflow:hidden;transition:transform .4s ease,filter .4s ease,opacity .4s ease}@keyframes stepFadeIn{0%{opacity:0;transform:translate(-50%,-50%) scale(.8)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}.node-container.active .node-btn{opacity:1;transform:translate(-50%,-50%) scale(1);animation:stepFadeIn .8s cubic-bezier(.175,.885,.32,1.275) var(--delay, 0s) both}.node-btn:hover{transform:translate(-50%,-50%) scale(1.1);filter:drop-shadow(0 0 10px var(--glow-color)) drop-shadow(0 0 20px rgba(255,255,255,.4))}.node-icon{width:100%;height:100%;object-fit:contain;transform:scale(1.1);transition:transform .3s ease}.svg-layer{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:1}.connector-line{fill:none;stroke:var(--line-color);stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:100;stroke-dashoffset:100}.node-container.active .connector-line{stroke-dashoffset:0;transition:stroke-dashoffset var(--duration, 1s) linear var(--delay, 0s)}.iot-container{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1.5vh;width:100%}.btn-row{display:flex;justify-content:space-between;width:90%;max-width:600px}.iot-nav-btn{position:relative;width:70px;height:70px;padding:0;border:none;background:transparent;cursor:pointer;border-radius:12px}.iot-nav-inner{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:100%;height:100%;border-radius:12px;overflow:hidden;background:#fff;box-shadow:0 4px 10px #0000004d;transition:all .3s ease;pointer-events:none;display:flex;align-items:center;justify-content:center}.iot-nav-btn.active .iot-nav-inner{transform:translate(-50%,-50%) scale(1.1);outline:3px solid #6c9cf1}.btn-icon-img{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}.display-panel{padding:10px;border-radius:20px;width:90%;max-width:600px;aspect-ratio:16 / 11;box-shadow:0 10px 30px #0006;transition:background-color .5s ease;display:flex}.panel-inner{display:grid;grid-template-columns:1.8fr 1fr;gap:10px;width:100%;height:100%}.main-view{display:flex;overflow:hidden}.side-view{display:flex;flex-direction:column;gap:10px;height:100%}.sub-box{flex:1;display:flex;overflow:hidden}.display-panel img{width:100%;height:100%;object-fit:cover;border-radius:15px;display:block}.fade-in{animation:fadeInEffect .5s ease-in-out}@keyframes fadeInEffect{0%{opacity:0}to{opacity:1}}@media(max-width:768px){.display-panel{aspect-ratio:auto;height:auto}.panel-inner{grid-template-columns:1fr;grid-template-rows:auto auto}.main-view{aspect-ratio:16 / 9;overflow:hidden}.side-view{flex-direction:row;height:120px}.iot-nav-btn{width:60px;height:60px}}.slider-container-wrapper{width:100%;max-width:500px;display:flex;flex-direction:column;align-items:center;margin:auto}.slider-main-content{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;position:relative}.slider-card{width:100%;max-width:350px;background:#2525647a;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);border:1px solid rgba(255,255,255,.142);border-radius:24px;overflow:hidden;box-shadow:0 15px 30px #0003}.slider-image-box{position:relative;width:100%;height:180px}.slider-image-box img{width:100%;height:100%;object-fit:cover}.slider-tag{position:absolute;top:15px;left:15px;background:#3a4db8;color:var(--text-main);padding:4px 12px;border-radius:20px;font-size:10px;font-weight:800}.slider-info{padding:20px;text-align:left}.slider-info h2{font-size:1.2rem;margin:0 0 10px;color:#fff}.slider-info p{font-size:.85rem;color:var(--text-muted);line-height:1.5;margin-bottom:20px}.slider-footer{display:flex;justify-content:space-between;align-items:center;width:100%;margin-top:15px;padding-top:15px;border-top:1px solid rgba(255,255,255,.1)}.slider-user{display:flex;align-items:center;gap:10px}.slider-user img{width:30px;height:30px;border-radius:50%;border:1px solid rgba(255,255,255,.2)}.slider-user-text{display:flex;flex-direction:column}.slider-user-text strong{font-size:12px;color:#fff}.slider-user-text span{font-size:10px;color:var(--text-muted)}.nav-btn-container{width:40px;display:flex;justify-content:center}.nav-btn-container.left{position:absolute;left:-20px;z-index:10}.nav-btn-container.right{position:absolute;right:-20px;z-index:10}.slider-arrow-btn{background:#ffffff1a;border:1px solid rgba(255,255,255,.2);color:#fff;font-size:18px;width:40px;height:40px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:.3s;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.slider-arrow-btn:hover{background:#ffffff4d;transform:scale(1.1)}.slider-read-btn{background:#ffffff1a;color:var(--accent-cyan);border:none;padding:8px 16px;border-radius:10px;font-weight:700;font-size:.8rem;cursor:pointer;transition:all .3s ease}.slider-read-btn:hover{background-color:var(--accent-cyan);color:#000;transform:translateY(-2px)}.slider-dots{margin-top:20px;display:flex;gap:8px}.slider-dot{width:8px;height:8px;background:#fff3;border-radius:50%;cursor:pointer;transition:.3s}.slider-dot.active{width:20px;background:var(--accent-blue);border-radius:10px}.about-container{font-family:Prompt,sans-serif;display:flex;flex-direction:column;align-items:center;background-color:#f3f4f6;padding:0}.intro-section{text-align:center;width:100%;max-width:900px;min-height:100vh;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:120px 20px 60px}.intro-title{font-family:Kanit,sans-serif;font-size:63px;font-weight:700;color:#1e3a8a;margin-bottom:20px;letter-spacing:-1px}.intro-text{font-size:18px;color:#374151;line-height:1.8}.cards-wrapper{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:30px;width:100%;max-width:1200px;min-height:100vh;align-content:center;padding:60px 20px}.course-card{background-color:#fff;border-radius:16px;box-shadow:0 10px 30px #00000014;overflow:hidden;display:flex;flex-direction:column;transition:transform .3s ease,box-shadow .3s ease;cursor:pointer}.course-card:hover{transform:translateY(-10px);box-shadow:0 20px 40px #0000001f}.card-header{position:relative;height:230px;color:#fff}.header-bg-img{width:100%;height:100%;object-fit:cover}.header-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(180deg,#1e3a8a33,#1e3a8acc)}.header-content{position:absolute;bottom:0;left:0;width:100%;padding:20px 30px;display:flex;flex-direction:column;align-items:flex-start;gap:12px}.icon-container{background-color:#2f57c3;border-radius:12px;padding:10px;width:60px;height:60px;display:flex;justify-content:center;align-items:center;box-shadow:0 4px 10px #2f57c34d}.course-icon{width:100%;height:auto}.title-group{display:flex;flex-direction:column}.course-title-en{font-family:Kanit,sans-serif;font-size:22px;font-weight:700;margin:0;line-height:1.1}.course-title-th{font-family:Kanit,sans-serif;font-size:16px;margin:5px 0 0;opacity:.9}.card-body{padding:30px;color:#374151;flex-grow:1}.course-description{font-size:18px;line-height:1.6;margin-bottom:25px}.subjects-title{font-family:Kanit,sans-serif;font-size:16px;font-weight:700;margin-bottom:15px;color:#1e3a8a}.subjects-list{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(2,1fr);gap:15px 20px}.subjects-list li{font-size:18px;display:flex;align-items:center;color:#374151}.bullet{width:8px;height:8px;background-color:#2f57c3;border-radius:50%;margin-right:12px}.card-footer{padding:10px 30px 30px;display:flex;justify-content:flex-end}.details-link{display:flex;align-items:center;gap:10px;text-decoration:none;color:#374151;font-weight:600;transition:color .2s ease}.details-link:hover{color:#2f57c3}.arrow-icon{transition:transform .2s ease}.details-link:hover .arrow-icon{transform:translate(5px)}.what-we-learn-section{width:100%;min-height:100vh;padding:60px 20px;display:flex;flex-direction:column;align-items:center;justify-content:center;background-color:#f0eee9;box-sizing:border-box}.section-header-center{text-align:center;margin-bottom:50px;max-width:800px}.main-heading{font-family:Kanit,sans-serif;font-size:36px;font-weight:700;color:#1e3a8a;margin-bottom:15px}.sub-heading{font-size:18px;color:#374151;line-height:1.6}.learn-cards-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:30px;width:100%;max-width:1200px}.learn-card{background-color:#f3f4f6;border-radius:16px;padding:40px 30px;border:1px solid #F3F4F6;box-shadow:0 4px 20px #00000005;display:flex;flex-direction:column;transition:all .3s ease}.learn-card:hover{transform:translateY(-10px);box-shadow:0 15px 40px #00000014;border-color:#2f57c3}.learn-icon-wrapper{background-color:#f3f4f6;width:55px;height:55px;border-radius:12px;display:flex;align-items:center;justify-content:center;margin-bottom:25px;transition:all .3s ease}.icon-orange{color:#f3f4f6;transition:all .3s ease}.card-title-wrapper{display:flex;align-items:center;gap:16px;margin-bottom:20px}.learn-icon-wrapper{background-color:#f3f4f6;width:55px;height:55px;border-radius:12px;display:flex;align-items:center;justify-content:center;transition:all .3s ease;flex-shrink:0}.learn-card-title{font-family:Kanit,sans-serif;font-size:24px;font-weight:700;color:#1e3a8a;margin-bottom:0;line-height:1.3}.learn-card:hover .learn-icon-wrapper{background-color:#2f57c3}.learn-card:hover .icon-orange{color:#fff}.learn-card-title{font-family:Kanit,sans-serif;font-size:24px;font-weight:700;color:#1e3a8a;margin-bottom:15px}.learn-card-desc{font-size:18px;line-height:1.6;color:#374151}.history-section{background-color:#1e3a8a;min-height:100vh;padding:60px 20px;display:flex;justify-content:center;align-items:center;color:#fff;width:100%;box-sizing:border-box}.history-content-wrapper{max-width:900px;width:100%;display:flex;flex-direction:column;align-items:flex-start}.history-badge{background-color:#2f57c3;padding:10px 30px;border-radius:999px;font-size:18px;font-weight:600;margin-bottom:25px;box-shadow:0 4px 15px #0000001a}.history-title{font-family:Kanit,sans-serif;font-size:64px;font-weight:700;margin-bottom:40px;color:#f0eee9}.history-text{font-size:18px;line-height:1.9;text-align:center;color:#f3f4f6;width:100%}@media(max-width:768px){.about-container{padding:100px 15px 40px}.intro-title{font-size:36px}.intro-text{padding:0 15px}.what-we-learn-section{padding:60px 15px}.main-heading{font-size:24px}.learn-card{padding:30px 20px}.course-title-en{font-size:24px}.history-section{padding:60px 15px}.history-title{font-size:36px}.history-text{text-align:left}}html{scroll-behavior:smooth}.academic-page{width:100%;max-width:100%;margin:0 auto;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;box-sizing:border-box}.academic-card-link{text-decoration:none;color:inherit;display:block;transition:transform .3s ease,filter .3s ease}.academic-card-link:hover{transform:translateY(-5px);filter:brightness(1.05)}.academic-hero{min-height:100vh;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:120px 56px 56px;box-sizing:border-box;scroll-snap-align:start}@media(max-width:1024px){.academic-hero{padding:100px 56px 56px}}@media(max-width:640px){.academic-hero{padding:100px 24px 32px}}.academic-main-title{text-align:center;font:var(--font-h1);color:var(--color-secondary);margin-bottom:20px;margin-top:0}.academic-cards-container{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;max-width:1200px;margin:0 auto 40px;width:100%}.academic-card{display:flex;flex-direction:column;align-items:center;gap:0}.academic-card-header{text-align:center;margin-bottom:20px;min-height:120px;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;width:100%}.academic-title-en{font:var(--font-section-eng);font-size:1.5rem;color:var(--color-secondary);text-transform:uppercase;letter-spacing:.02em;margin:0;text-align:center;width:100%}.academic-title-en-sub{font-size:.9rem;font-weight:500;color:#1e3a8a;margin:2px 0 0;text-align:center}.academic-card-image-wrapper{position:relative;width:100%;border-radius:20px;overflow:hidden;box-shadow:0 4px 15px #00000026;aspect-ratio:16 / 10;max-height:180px;background-color:#e5e7eb}.academic-card-image{width:100%;height:100%;object-fit:cover;display:block;position:relative;z-index:1}.academic-card-overlay{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(to top,#1a237ef2,#1a237ee0 55%,#1a237e4d);padding:28px 18px 24px;display:flex;align-items:flex-end;min-height:36%;z-index:2}.academic-title-th{font:var(--font-section-th);font-size:1.1rem;color:#fff;text-align:center;width:100%;line-height:1.4;margin:0}@media(max-width:900px){.academic-cards-container{grid-template-columns:1fr;max-width:400px}.academic-page{padding:0}}@media(max-width:1100px)and (min-width:901px){.academic-cards-container{gap:20px}.academic-title-en{font-size:.8rem}.academic-title-th{font-size:.9rem}}.iot-system-page{padding:100px 56px 56px;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;box-sizing:border-box}.iot-system-hero-section{min-height:100vh;display:flex;flex-direction:column;justify-content:center;padding:40px 0;box-sizing:border-box}.iot-system-header{text-align:center;margin-bottom:40px}.iot-system-title-en{font:var(--font-head-eng);color:var(--color-secondary);text-transform:uppercase;margin:0 0 4px;letter-spacing:.02em}.iot-system-subtitle-en{font:var(--font-body);color:var(--color-asset);margin:0}.iot-system-card-container{display:flex;justify-content:flex-end;width:100%;margin:0 0 60px}.iot-system-info-card{background-color:var(--color-secondary);color:#fff;padding:60px 50px;border-radius:30px;max-width:600px;box-shadow:0 20px 50px #1e3a8a33;display:flex;flex-direction:column;gap:25px}.iot-system-card-title{font-family:var(--font-head-th);font-size:2.8rem;font-weight:700;line-height:1.2;margin:0}.iot-system-card-divider{width:100%;height:1px;background-color:#ffffff4d}.iot-system-card-text{font-family:var(--font-body);font-size:1.05rem;line-height:1.7;text-align:justify;opacity:.95;word-break:break-word;margin:0}.iot-system-career-section{width:100%;min-height:100vh;display:flex;flex-direction:column;justify-content:center;margin:0;padding:60px 0;box-sizing:border-box}.iot-system-career-header-row{display:flex;justify-content:space-between;align-items:flex-start;width:100%;margin-bottom:30px;padding-right:20px}.iot-system-career-title{font:var(--font-section-th);color:var(--color-secondary);margin:0;line-height:1.3;text-align:left}.iot-system-career-list-box{background-color:var(--color-secondary);border-radius:20px;padding:56px;width:100%;box-shadow:0 8px 25px #1e3a8a26;position:relative;z-index:1}.iot-system-career-list{display:grid;grid-template-columns:1fr 1.1fr;row-gap:15px;column-gap:60px;list-style-type:disc;padding-left:20px;margin:0;color:#fff}.iot-system-career-list li{font:var(--font-body);font-size:1rem;line-height:1.4}.iot-system-fee-badge{position:relative;width:200px;background-color:var(--color-asset);color:#fff;display:flex;flex-direction:column;align-items:center;padding:30px 15px 45px;box-shadow:0 10px 25px #0003;clip-path:polygon(0 0,100% 0,100% 100%,50% calc(100% - 25px),0 100%);z-index:10;margin-bottom:-60px}.fee-badge-icon{width:60px;height:60px;margin-bottom:15px}.fee-badge-title{font:var(--font-section-th);font-size:1.2rem;text-align:center;margin:0 0 10px;line-height:1.3}.fee-badge-amount{font:var(--font-h1);font-size:2.8rem;margin:0 0 5px;font-weight:700}.fee-badge-unit{font:var(--font-body);font-size:.85rem;margin:0;opacity:.9}@media(max-width:900px){.iot-system-title-en{font-size:1.6rem}.iot-system-card-container{justify-content:center;margin-bottom:40px}.iot-system-info-card{padding:30px 25px}.iot-system-career-header-row{flex-direction:column;align-items:center;padding-right:0;margin-bottom:20px}.iot-system-career-title{margin-bottom:20px;text-align:center}.iot-system-career-list-box{padding:20px}.iot-system-career-list{grid-template-columns:1fr}.iot-system-fee-badge{position:relative;margin-bottom:20px;clip-path:none;border-radius:15px;width:100%;max-width:none;padding-bottom:30px;box-shadow:0 5px 15px #0000001a}}@media(max-width:1024px){.iot-system-page{padding:56px}}@media(max-width:640px){.iot-system-page{padding:30px}}span.clickable:hover{cursor:pointer}@media(max-width:1100px){.course-structure-layout{flex-direction:column;align-items:center}.course-structure-left{order:1;width:100%}.course-structure-right{order:2;width:100%;max-width:500px}.pdf-mockup{aspect-ratio:1 / 1.414;min-height:450px}}.course-table-container{background-color:var(--color-secondary);border-radius:20px;padding:20px 30px 40px;width:100%;box-shadow:0 8px 30px #1e3a8a33;color:#fff;overflow-x:auto;scrollbar-width:thin;scrollbar-color:var(--color-bg) transparent;-webkit-overflow-scrolling:touch}.course-table-container::-webkit-scrollbar{height:8px}.course-table-container::-webkit-scrollbar-track{background:#ffffff1a;border-radius:10px}.course-table-container::-webkit-scrollbar-thumb{background-color:var(--color-bg);border-radius:10px}.course-header-years{display:grid;column-gap:10px;margin-bottom:10px}.year-header{grid-column:span 2;background-color:var(--color-bg);color:var(--color-secondary);text-align:center;padding:10px;border-radius:25px;font-weight:700;font-family:var(--font-head-eng);font-size:1rem}.course-header-semesters{display:grid;column-gap:10px;margin-bottom:20px}.semester-header{background-color:var(--color-bg);color:var(--color-secondary);text-align:center;padding:8px;border-radius:20px;font-weight:600;font-family:var(--font-section-eng);font-size:.85rem}.course-grid-area{position:relative;display:grid;grid-auto-rows:minmax(50px,auto);gap:15px 10px}.course-lines-svg{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:1}.course-pill{background-color:#fff;color:var(--color-secondary);border-radius:20px;padding:10px 12px;font-family:var(--font-body);font-size:.8rem;font-weight:600;text-align:center;display:flex;align-items:center;justify-content:center;line-height:1.1;box-shadow:0 4px 10px #00000026;transition:all .2s;z-index:2;cursor:default;height:100%;width:100%;word-break:break-word;overflow:hidden}.course-pill:hover{transform:scale(1.05);box-shadow:0 6px 15px #0003}.course-pill-coop{padding:15px 10px}.plan-box{background-color:var(--color-bg);border-radius:20px;padding:15px;display:flex;flex-direction:column;z-index:0}.plan-box-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:15px 10px;width:100%;height:100%;grid-auto-rows:minmax(50px,auto)}.plan-text{text-align:center;color:var(--color-secondary);font-family:var(--font-section-eng);font-size:1.1rem;font-weight:500;z-index:1;line-height:1.1}.plan-text span{font-family:var(--font-head-eng);font-size:1.3rem;font-weight:600}.course-mobile-container{display:flex;flex-direction:column;gap:8px;background-color:var(--color-secondary);border-radius:12px;padding:6px;position:relative;width:100%}@media(max-width:480px){.mobile-course-pill{font-size:.7rem;padding:10px 4px}}.mobile-year-group{display:flex;gap:6px;z-index:2}.mobile-year-label{background-color:var(--color-bg);color:var(--color-secondary);min-width:25px;width:25px;border-radius:25px;display:flex;align-items:center;justify-content:center;font-family:var(--font-head-eng);font-weight:600;font-size:.8rem;padding:10px 0;box-shadow:0 4px 10px #0000001a}.vertical-text{writing-mode:vertical-rl;transform:rotate(180deg);text-align:center;letter-spacing:.1em}.mobile-semesters{display:flex;flex-direction:column;gap:6px;flex:1}.mobile-semester{display:flex;gap:4px;flex:1}.mobile-sem-label{background-color:var(--color-bg);color:var(--color-secondary);min-width:22px;width:22px;border-radius:20px;display:flex;align-items:center;justify-content:center;font-family:var(--font-section-eng);font-weight:600;font-size:.75rem;padding:10px 0;box-shadow:0 4px 10px #0000001a}.mobile-courses-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:4px;flex:1;align-content:flex-start}.mobile-course-pill{background-color:#fff;color:var(--color-secondary);border-radius:8px;padding:6px 2px;font-family:var(--font-body);font-size:.7rem;font-weight:500;text-align:center;display:flex;align-items:center;justify-content:center;line-height:1.1;box-shadow:0 2px 6px #00000026;z-index:2;width:100%;word-break:break-word}.mobile-plan-container{display:flex;flex-direction:column;gap:15px;flex:1;width:100%}@media(min-width:600px){.mobile-plan-container{flex-direction:row}}.mobile-plan-box{border-radius:10px;padding:6px;display:flex;flex-direction:column}.mobile-plan-box-outline{background-color:#fff;border:4px solid var(--color-bg)}.mobile-plan-header{text-align:center;font-family:var(--font-section-eng);font-size:.8rem;font-weight:500;margin-bottom:10px;line-height:1.1;color:var(--color-secondary)}.mobile-plan-header span{font-family:var(--font-head-eng);font-size:1rem;font-weight:600}.mobile-plan-pill{padding:10px 4px;font-size:.55rem;border-radius:20px;background-color:#fff;color:var(--color-secondary);border:2px solid var(--color-secondary);box-shadow:0 2px 8px #0000001a}.mobile-plan-pill.course-pill-coop{padding:18px 4px}.course-pill.has-description,.mobile-course-pill.has-description{cursor:pointer;border:1px solid var(--color-secondary)}.course-description-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#0009;display:flex;justify-content:center;align-items:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:fadeIn .2s ease-out}.course-description-modal{background-color:#fff;width:90%;max-width:600px;border-radius:20px;overflow:hidden;box-shadow:0 15px 40px #0000004d;animation:slideUp .3s ease-out;color:var(--color-secondary);display:flex;flex-direction:column}.modal-header{background-color:var(--color-secondary);color:#fff;padding:24px 30px;display:flex;justify-content:space-between;align-items:center}.modal-header h3{margin:0;font-family:var(--font-head-eng);font-size:1.4rem;letter-spacing:.01em}.close-btn{background:none;border:none;color:#fff;font-size:2rem;cursor:pointer;line-height:1;display:flex;align-items:center;justify-content:center;transition:transform .2s}.close-btn:hover{transform:scale(1.1)}.modal-body{padding:30px;font-family:var(--font-body);font-size:1.1rem;line-height:1.6;color:#333}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.phy-iot-system-page{padding:100px 56px 56px;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;box-sizing:border-box}.phy-iot-system-hero-section{min-height:100vh;display:flex;flex-direction:column;justify-content:center;padding:40px 0;box-sizing:border-box}.phy-iot-system-header{text-align:center;margin-bottom:40px}.phy-iot-system-title-en{font:var(--font-head-eng);color:var(--color-secondary);text-transform:uppercase;margin:0 0 10px;letter-spacing:.02em}.phy-iot-system-subtitle-en{font:var(--font-body);color:var(--color-asset);margin:0}.phy-iot-system-intro-section{text-align:center;padding:20px 0}.phy-iot-system-intro-title{font:var(--font-section-th);color:var(--color-secondary);font-size:3rem;margin-bottom:20px}.phy-iot-system-intro-text{font:var(--font-body);color:var(--color-asset);font-size:1.25rem;line-height:1.5}.phy-iot-system-section-cards{min-height:100vh;display:flex;flex-direction:column;justify-content:center;padding:60px 0;box-sizing:border-box}.phy-iot-system-card-container{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;width:100%}.phy-iot-system-info-card{background-color:var(--color-secondary);border-radius:30px;padding:40px 30px;color:#fff;display:flex;flex-direction:column;align-items:center;text-align:center;box-shadow:0 10px 30px #1e3a8a33}.phy-iot-system-card-title{font:var(--font-section-th);font-size:1.8rem;margin-bottom:30px;min-height:2.5em;display:flex;align-items:center}.phy-iot-system-card-text{font:var(--font-body);font-size:1rem;line-height:1.6;margin:0}.phy-iot-system-career-section{width:100%;margin:60px 0 40px}.phy-iot-system-career-header-row{display:flex;justify-content:space-between;align-items:flex-start;width:100%;margin-bottom:30px;padding-right:20px}.phy-iot-system-career-title{font:var(--font-section-th);color:var(--color-secondary);margin:0;line-height:1.3;text-align:left}.phy-iot-system-career-list-box{background-color:#2c3544;border-radius:20px;padding:56px;width:100%;box-shadow:0 8px 25px #00000026;position:relative;z-index:1}.phy-iot-system-career-list{display:grid;grid-template-columns:1fr 1.1fr;row-gap:15px;column-gap:60px;list-style-type:disc;padding-left:20px;margin:0;color:#fff}.phy-iot-system-career-list li{font:var(--font-body);font-size:1rem;line-height:1.4}.phy-iot-system-fee-badge{position:relative;width:200px;background-color:#2c3544;color:#fff;display:flex;flex-direction:column;align-items:center;padding:30px 15px 45px;box-shadow:0 10px 25px #0003;clip-path:polygon(0 0,100% 0,100% 100%,50% calc(100% - 25px),0 100%);z-index:10;margin-bottom:-60px}.phy-iot-system-fee-badge-icon{width:60px;height:60px;margin-bottom:15px}.phy-iot-system-fee-badge-title{font:var(--font-section-th);font-size:1.2rem;text-align:center;margin:0 0 10px;line-height:1.3}.phy-iot-system-fee-badge-amount{font:var(--font-h1);font-size:2.8rem;margin:0 0 5px;font-weight:700}.phy-iot-system-fee-badge-unit{font:var(--font-body);font-size:.85rem;margin:0;opacity:.9}@media(max-width:1024px){.phy-iot-system-page{padding:56px}.phy-iot-system-card-container{grid-template-columns:1fr;max-width:600px;margin:0 auto 60px}}@media(max-width:900px){.phy-iot-system-title-en{font-size:1.6rem}.phy-iot-system-intro-title{font-size:2rem}.phy-iot-system-career-header-row{flex-direction:column;align-items:center;padding-right:0;margin-bottom:20px}.phy-iot-system-career-title{margin-bottom:20px;text-align:center}.phy-iot-system-career-list-box{padding:20px}.phy-iot-system-career-list{grid-template-columns:1fr}.phy-iot-system-fee-badge{position:relative;margin-bottom:20px;clip-path:none;border-radius:15px;width:100%;max-width:none;padding-bottom:30px;box-shadow:0 5px 15px #0000001a}}@media(max-width:640px){.phy-iot-system-page{padding:30px}}.course-structure-section{max-width:1400px;margin:80px auto;padding:0}.phy-course-header-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:60px}@media(max-width:768px){.phy-course-header-top{flex-direction:row;flex-wrap:wrap;justify-content:center;gap:15px;margin-bottom:30px}.phy-course-main-title{font-size:1.5rem;text-align:center;width:100%;margin-bottom:15px}.phy-year-selectors{width:100%;justify-content:center;gap:12px}.phy-year-btn{padding:10px 25px;font-size:1.1rem;border-radius:10px}}.course-structure-title{font:var(--font-section-th);color:var(--color-secondary);font-size:2.2rem;margin:0}.phy-year-selectors{display:flex;gap:20px}.phy-year-btn{background-color:#2f57c3;color:#fff;border:none;border-radius:12px;padding:12px 40px;font:var(--font-head-eng);font-size:1.4rem;cursor:pointer;box-shadow:0 4px 15px #2f57c34d;transition:all .2s}.phy-year-btn.active{background-color:#3b66de;transform:scale(1.05)}.phy-course-mid-title{text-align:center;font:var(--font-section-th);color:var(--color-foreground-2);font-size:2rem;margin-bottom:50px}.course-structure-left,.course-structure-right{display:flex;flex-direction:column}.course-structure-left{flex:1.5}.course-structure-right{flex:1}.phy-pdf-mockup{width:100%;flex-grow:1;background-color:#fff;border:1px solid #ccc;border-radius:20px;padding:40px 30px;box-shadow:0 4px 15px #0000001a;margin-bottom:0;display:flex;flex-direction:column;justify-content:center}.phy-pdf-content{color:#1a1a1a;font-family:Sarabun,Segoe UI,sans-serif;text-align:center}.phy-pdf-title{font-size:1.2rem;font-weight:700;margin:0 0 10px}.phy-pdf-subtitle{font-size:1rem;font-weight:700;margin:0 0 15px}.phy-pdf-version{font-size:.95rem;font-weight:700;margin-bottom:40px}.phy-pdf-details{text-align:left;font-size:.85rem}.phy-pdf-section{margin-bottom:30px}.phy-pdf-section p{text-align:left;margin-bottom:15px}.phy-pdf-row{display:grid;grid-template-columns:100px 1fr;gap:15px;margin-bottom:12px;line-height:1.5}.phy-course-action-btn{background-color:var(--color-secondary);color:#fff;border:none;border-radius:12px;padding:15px 20px;font:var(--font-body);font-size:1rem;width:100%;margin-top:30px;cursor:pointer;box-shadow:0 4px 12px #1e3a8a4d;transition:all .2s}.phy-course-action-btn:hover{background-color:#1e3a8a;transform:translateY(-2px)}.phy-course-action-btn.secondary{background-color:var(--color-foreground-2)}@media(max-width:1100px){.course-structure-layout{flex-direction:column;align-items:center}.course-structure-left{order:1;width:100%}.course-structure-right{order:2;width:100%;max-width:500px}.phy-pdf-mockup{aspect-ratio:1 / 1.414;min-height:450px}}.course-table-container.phy-iot-theme{background-color:var(--color-foreground-2);box-shadow:0 15px 40px #0003}.phy-iot-theme .year-header{background-color:var(--color-bg);color:var(--color-foreground-2)}.phy-iot-theme .semester-header{background-color:var(--color-bg);color:var(--color-foreground-2);opacity:.9}.phy-iot-theme .course-pill{background-color:#ffffff26;border:1px solid rgba(255,255,255,.3);color:#fff;box-shadow:none}.phy-iot-theme .course-pill:hover{background-color:#ffffff40}.phy-iot-theme .course-pill-outline{background-color:transparent;border:1.5px solid rgba(255,255,255,.5)}.phy-iot-theme .course-pill-coop{background-color:#ffffff1a;border:1.5px dashed rgba(255,255,255,.4)}.phy-iot-theme .plan-box{background-color:#00000026}.phy-iot-theme .plan-text{color:#ffffff4d}.course-mobile-container.phy-iot-theme{background-color:var(--color-foreground-2)}.phy-iot-theme .mobile-year-label{background-color:var(--color-bg);color:var(--color-foreground-2)}.phy-iot-theme .mobile-sem-label{background-color:var(--color-bg);color:var(--color-primary-light);opacity:.8}.phy-iot-theme .mobile-course-pill{background-color:#ffffff26;border:1px solid rgba(255,255,255,.3);color:var(--color-primary-light)}.phy-iot-theme .mobile-plan-pill{background-color:#ffffff1a;border:1.5px solid rgba(255,255,255,.3);color:var(--color-primary-light)}.phy-iot-theme .mobile-plan-box-outline{background-color:#0000001a;border:2px solid rgba(255,255,255,.2)}.phy-iot-theme .mobile-plan-header{color:var(--color-primary-light)}.phy-iot-theme .phy-year-btn{background-color:var(--color-foreground-2);color:#fff;opacity:.7;box-shadow:0 4px 10px #0003}.phy-iot-theme .phy-year-btn.active{background-color:var(--color-foreground-2);opacity:1;transform:scale(1.05);border:2px solid var(--color-bg)}.phy-iot-theme .phy-year-btn:hover{opacity:1}.continuing-program-page{padding:100px 56px 56px;background-color:var(--color-bg);display:flex;flex-direction:column;gap:0;position:relative;overflow-x:hidden;box-sizing:border-box}.continuing-program-hero-section{min-height:100vh;display:flex;flex-direction:column;justify-content:center;padding:60px 0;box-sizing:border-box;gap:30px}.continuing-program-header{text-align:center}.continuing-program-title-en{font-family:var(--font-head-eng);font-size:3.8rem;font-weight:700;color:var(--color-secondary);line-height:1.1;margin-bottom:5px;letter-spacing:-.02em}.continuing-program-title-en span{font-size:3.5rem;font-weight:600}.continuing-program-subtitle-en{font-family:var(--font-section-eng);font-size:1.2rem;color:var(--color-secondary);opacity:.8}.continuing-program-content{display:flex;justify-content:flex-end;width:100%}.continuing-program-hero-card{background-color:var(--color-secondary);color:#fff;padding:60px 50px;border-radius:30px;max-width:600px;box-shadow:0 20px 50px #1e3a8a33;display:flex;flex-direction:column;gap:25px}.continuing-program-card-title{font-family:var(--font-head-th);font-size:2.8rem;font-weight:700;line-height:1.2}.continuing-program-divider{width:100%;height:1px;background-color:#ffffff4d}.continuing-program-card-text{font-family:var(--font-body);font-size:1.05rem;line-height:1.7;text-align:justify;opacity:.95;word-break:break-word}@media(max-width:1024px){.continuing-program-page{padding:60px 40px}.continuing-program-title-en{font-size:2.8rem}.continuing-program-title-en span{font-size:2rem}.continuing-program-content{justify-content:center}.continuing-program-hero-card{max-width:100%;padding:40px 30px}}@media(max-width:640px){.continuing-program-page{padding:40px 30px}.continuing-program-title-en{font-size:2rem;text-align:center}.continuing-program-title-en span{font-size:1.4rem}.continuing-program-subtitle-en{text-align:center}.continuing-program-hero-card{padding:30px 25px}.continuing-program-card-title{font-size:1.8rem}.continuing-program-card-text{font-size:.95rem}}.continuing-program-career-section{width:100%;min-height:100vh;display:flex;flex-direction:column;justify-content:center;padding:60px 0;box-sizing:border-box}.continuing-program-career-header{display:flex;justify-content:space-between;align-items:flex-start;width:100%;margin-bottom:30px;padding-right:20px}.continuing-program-career-title{font:var(--font-section-th);color:var(--color-secondary);margin:0;line-height:1.3;text-align:left}.continuing-program-fee-ribbon{position:relative;width:220px;background-color:var(--color-secondary);padding:1.5px;box-shadow:0 10px 25px #1e3a8a1a;clip-path:polygon(0 0,100% 0,100% 100%,50% calc(100% - 25px),0 100%);z-index:10;margin-bottom:-70px}.ribbon-border-inner{background-color:#fff;width:100%;height:100%;display:flex;flex-direction:column;align-items:center;padding:30px 15px 50px;clip-path:polygon(0 0,100% 0,100% 100%,50% calc(100% - 25px),0 100%)}.ribbon-icon{width:70px;height:70px;margin-bottom:15px;filter:invert(0%) sepia(0%) saturate(100%) hue-rotate(190deg) brightness(31%) contrast(100%);display:block}.ribbon-text{font:var(--font-section-th);font-size:1.2rem;color:var(--color-secondary);text-align:center;margin-bottom:10px}.ribbon-amount{font:var(--font-h1);font-size:2.8rem;color:var(--color-secondary);font-weight:700;margin-bottom:5px}.ribbon-unit{font:var(--font-body);font-size:.85rem;color:var(--color-secondary);opacity:.8}.continuing-program-career-list-box{background-color:#fff;border:1px solid rgba(30,58,138,.15);border-radius:20px;padding:60px 80px;width:100%;box-shadow:0 8px 30px #00000008;position:relative;z-index:1}.continuing-program-career-grid{display:grid;grid-template-columns:1fr 1fr;row-gap:20px;column-gap:60px;list-style-type:none;margin:0}.continuing-program-career-item{font:var(--font-body);color:var(--color-secondary);font-size:1.05rem;line-height:1.4;display:flex;align-items:center;gap:12px}.career-bullet{width:4px;height:4px;background-color:var(--color-secondary);border-radius:50%;flex-shrink:0}@media(max-width:900px){.continuing-program-career-header{flex-direction:column;align-items:center;padding-right:0}.continuing-program-career-title{text-align:center;margin-bottom:20px}.continuing-program-career-list-box{padding:30px 20px}.continuing-program-career-grid{grid-template-columns:1fr;gap:15px}.continuing-program-fee-ribbon{margin-bottom:20px;clip-path:none;border-radius:20px;width:100%;padding:0;background-color:#fff;border:1px solid rgba(30,58,138,.1);box-shadow:0 4px 15px #0000000d}.ribbon-border-inner{clip-path:none;padding:40px 20px;background-color:transparent}}.course-structure-section{max-width:1900px;margin:80px auto;padding:0}.course-structure-title{font:var(--font-section-th);color:var(--color-foreground-2);text-align:center;margin-bottom:50px}.course-structure-layout{display:flex;gap:40px;align-items:stretch}.course-structure-left,.course-structure-right{display:flex;flex-direction:column;align-items:center}.course-structure-left{flex:1.5;min-width:0}.course-structure-right{flex:1;min-width:0}.pdf-mockup{width:100%;flex-grow:1;min-height:600px;background-color:#fff;border:1px solid #ccc;border-radius:20px;padding:40px 30px;box-shadow:0 4px 15px #0000001a;margin-bottom:30px;display:flex;flex-direction:column;justify-content:center}.pdf-mockup-header{text-align:center;font-family:Sarabun,Segoe UI,sans-serif;font-size:.9rem;font-weight:700;margin-bottom:20px}.pdf-mockup-body{text-align:center;font-family:Sarabun,Segoe UI,sans-serif;font-size:.8rem;line-height:1.5}.course-button{background-color:var(--color-secondary);color:#fff;border:none;border-radius:12px;padding:15px 20px;font:var(--font-body);font-size:1rem;text-align:center;cursor:pointer;box-shadow:0 4px 12px #1e3a8a4d;transition:transform .2s,background-color .2s;width:100%;margin-top:30px}.course-button:hover{background-color:#1e3a8a;transform:translateY(-2px)}.course-button.secondary{background-color:var(--color-foreground-2)}@media(max-width:1200px){.course-structure-layout{flex-direction:column;align-items:center}.course-structure-left{order:1;width:100%}.course-structure-right{order:2;width:100%;max-width:500px}.pdf-mockup{aspect-ratio:1 / 1.414;min-height:450px}}.admission-layout{background-color:#f5f5f1;min-height:100vh;padding:120px 8% 40px;font-family:Inter,Kanit,sans-serif;color:#1e3a8a}.admission-top-bar{display:flex;justify-content:space-between;align-items:flex-end;border-bottom:4px solid #1e3a8a;padding-bottom:12px;margin-bottom:80px}.header-text{font-size:3.5rem;font-weight:900;margin:0;line-height:1}.search-container{display:flex;align-items:center}.search-box{display:flex;align-items:center;background-color:transparent;border:2px solid #1e3a8a;border-radius:12px;padding:8px 15px;width:180px}.search-icon{margin-right:10px;font-size:1.1rem}.search-input{border:none;background:transparent;outline:none;width:100%;font-family:Kanit,sans-serif;color:#1d3557}.course-section{display:flex;gap:100px;min-height:100vh;align-items:center;padding:60px 0;box-sizing:border-box}.course-section.is-reverse{flex-direction:row-reverse}@media(max-width:1024px){.course-section,.course-section.is-reverse{flex-direction:column;gap:40px}}.course-visual{flex:1}.course-detail-content{flex:1.2}.image-wrapper-fancy img{width:100%;border-radius:20px;box-shadow:0 40px 80px #00000026}.title-en{font-size:2.2rem;font-weight:800;line-height:1.1;margin-bottom:10px}.subtitle-en{font-size:1.3rem;opacity:.7;margin-bottom:10px}.thai-info-box{margin-bottom:40px}.main-th{font-size:1.8rem;font-weight:700}.sub-th{font-size:2.2rem;font-weight:900;color:#1d3557}.admission-grid-view{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin-bottom:40px}.type-card-item{border:1px solid #1e3a8a;border-radius:15px;padding:20px 10px;text-align:center;background:#fff6}.type-card-item .label{display:block;font-weight:700;font-size:1.1rem}.type-card-item .count{font-size:.8rem;opacity:.6}.extra-info-container{background:#fff;padding:30px;border-radius:20px;box-shadow:0 10px 30px #00000008}.label-gray{font-size:.9rem;opacity:.7;font-weight:700}.val-text{margin-top:5px;font-weight:600;padding-left:20px}.val-sub{margin-bottom:0;font-weight:600;padding-left:20px}.action-buttons-group{display:flex;gap:15px;margin-top:20px}.btn-light,.btn-dark{padding:10px 40px;border-radius:10px;font-weight:700;cursor:pointer;border:1.5px solid #1054b3}.btn-light:hover,.btn-dark:hover{transform:scale(1.05);box-shadow:0 4px 12px #1054b333}.btn-dark{background:#1d3557;color:#fff}.info-row{margin-bottom:20px}.extra-info-container{border:none;box-shadow:none;background:transparent;padding-left:0}.type-card-item.clickable{cursor:pointer;border:1px solid #1D3557;border-radius:15px;padding:20px 10px;text-align:center;background:#fff6;transition:all .2s ease-in-out;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;width:100%}.type-card-item.clickable:hover{background:#fff;transform:translateY(-5px);box-shadow:0 10px 20px #1d35571a}.type-card-item.clickable:active{transform:translateY(0)}.card-icon-img{width:40px;height:40px;object-fit:contain;margin-bottom:5px}@media(max-width:768px){.admission-layout{padding:100px 5% 40px}.header-text{font-size:2.2rem}.admission-top-bar{margin-bottom:40px}}.prof-card{background:#2c3440;padding:10px;border-radius:20px;text-align:left;width:100%;max-width:220px;height:400px;display:flex;flex-direction:column}.prof-card img{width:100%;height:240px;object-fit:cover;border-radius:15px}.prof-info{margin-top:auto;padding:5px}.prof-card h3,.prof-card p{margin:8px 0;color:#d7d7d7}.prof-card h3{margin-top:8px;font-size:16px;color:#eae8e8}.prof-card p{font-size:14px;margin-bottom:3px}.prof-card>*:not(img){flex-shrink:0}.detail-box{display:flex;justify-content:right}.detail-btn{font-size:11px;padding:2px;border-radius:20px;border:1px solid white;background:transparent;color:#fff;cursor:pointer;height:fit-content;background:#1e3a8a;width:70%}.email-icon{display:flex;align-items:center;justify-content:center;width:30px;height:30px;color:#fff;text-decoration:none;border-radius:5%;font-size:18px;transition:.2s ease}.email-icon:hover{transform:scale(1.1);background-color:#1e46b8}@media(max-width:768px){.prof-card{padding:8px;width:100%;max-width:none;height:auto;min-height:280px;display:flex;flex-direction:column}.prof-card img{height:auto;aspect-ratio:1 / 1.1;width:100%;object-fit:cover;border-radius:12px;display:block}.prof-info h3{font-size:14px;margin:8px 0 2px}.prof-info p{font-size:11px;margin-bottom:8px}.detail-btn{font-size:10px;padding:4px 8px;width:100%}}@media(min-width:769px)and (max-width:1024px){.prof-card{padding:8px;border-radius:20px;width:100%;max-width:220px;height:360px;display:flex;flex-direction:column}.prof-card img{height:198px}.prof-info h3{font-size:15px}}.popup-overlay{position:fixed;inset:0;background:#000c;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:9999;display:flex;align-items:center;justify-content:center;padding:1rem;animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.popup-container{background:#2c3440;border-radius:24px;width:100%;max-width:900px;max-height:90vh;overflow-y:auto;position:relative;padding:2rem;box-shadow:0 25px 50px -12px #00000080;border:1px solid rgb(215,215,215);animation:slideUp .4s ease}@keyframes slideUp{0%{opacity:0;transform:translateY(50px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.popup-close{position:absolute;top:1rem;right:1rem;width:36px;height:36px;border-radius:50%;border:none;background:#334155;color:#fff;font-size:1.2rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;z-index:100}.popup-close:hover{background:#d7d7d7;color:#2c3440;transform:rotate(90deg)}.popup-header{background:#fff;padding:1.5rem 2rem;border-radius:16px;margin-bottom:2rem;display:flex;flex-direction:column;justify-content:center;position:relative;box-shadow:0 4px 6px #0000001a}.popup-header h2{color:#1e293b!important;font-size:1.8rem;margin:0 0 4px;display:flex;align-items:center;gap:10px}.popup-header p{color:#64748b!important;font-size:.95rem;margin:0}.popup-department-filter{display:flex;align-items:center;gap:1rem;margin-bottom:1.5rem;padding:1rem;background:#3a4555;border-radius:16px;flex-wrap:wrap}.popup-department-filter>span{color:#d7d7d7;font-weight:500;white-space:nowrap}.dept-buttons{display:flex;gap:.5rem;flex-wrap:wrap}.dept-btn{padding:.4rem 1rem;border:1px solid rgb(215,215,215);background:transparent;color:#d7d7d7;border-radius:20px;cursor:pointer;font-size:.85rem;transition:all .2s}.dept-btn:hover{background:#ffffff1a}.dept-btn.active{background:#1e3a8a;border-color:#1e3a8a;color:#fff;font-weight:500}.popup-content{display:flex;flex-direction:column;gap:1.5rem}.expertise-section{background:#3a4555;padding:1.25rem;border-radius:16px}.expertise-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.expertise-header h3{color:#eae8e8;font-size:1.1rem;margin:0}.clear-btn{background:transparent;border:1px solid rgb(215,215,215);color:#d7d7d7;padding:.3rem .8rem;border-radius:12px;font-size:.8rem;cursor:pointer;transition:all .2s}.clear-btn:hover{background:#d7d7d7;color:#2c3440}.expertise-grid{display:flex;flex-wrap:wrap;gap:.5rem;max-height:250px;overflow-y:auto;padding-right:8px}.expertise-grid::-webkit-scrollbar{width:6px}.expertise-grid::-webkit-scrollbar-track{background:#2c3440;border-radius:3px}.expertise-grid::-webkit-scrollbar-thumb{background:#1e3a8a;border-radius:3px}.expertise-chip{display:inline-flex;align-items:center;gap:.4rem;padding:.4rem .8rem;background:#2c3440;border:1px solid rgb(215,215,215);border-radius:20px;cursor:pointer;font-size:.85rem;color:#d7d7d7;transition:all .2s;-webkit-user-select:none;user-select:none}.expertise-chip:hover{border-color:#1e3a8a;background:#3a4555}.expertise-chip.selected{background:#1e3a8a;border-color:#1e3a8a;color:#fff;font-weight:500}.expertise-chip input{accent-color:#1E3A8A;width:16px;height:16px;cursor:pointer}.expertise-chip.selected input{accent-color:white}.popup-action{display:flex;justify-content:center}.btn-search{background:#1e3a8a;color:#fff;border:1px solid white;padding:.75rem 2rem;border-radius:24px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s;min-width:200px}.btn-search:hover:not(:disabled){background:#fff;color:#2c3440;transform:translateY(-2px);box-shadow:0 8px 16px #1e3a8a4d}.btn-search:disabled{background:#3a4555;border-color:#969696;color:#969696;cursor:not-allowed}.results-section h3{color:#eae8e8;font-size:1.2rem;margin:0 0 1rem;padding-bottom:.5rem;border-bottom:1px solid rgb(215,215,215)}.results-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1rem}.no-results{text-align:center;padding:2rem;background:#3a4555;border-radius:16px;color:#d7d7d7}.no-results p{margin:.5rem 0}.no-results-hint{color:#b4b4b4;font-size:.9rem}@media(max-width:768px){.popup-container{padding:1.5rem 1rem;max-height:95vh}.popup-header h2{font-size:1.4rem}.popup-department-filter{flex-direction:column;align-items:stretch}.dept-buttons{justify-content:center}.expertise-grid{max-height:180px}.results-grid{grid-template-columns:1fr}.popup-close{width:36px;height:36px;font-size:1.2rem}}@media(max-width:480px){.popup-container{padding:1rem;border-radius:20px}.expertise-chip{font-size:.75rem;padding:.3rem .6rem}.btn-search{width:100%;min-width:auto}}.professor-image-container{width:100%;height:240px;overflow:hidden;border-radius:15px;margin-bottom:8px;flex-shrink:0;background:#3a4555}.professor-item img{width:100%;height:100%;object-fit:cover;object-position:center;transition:transform .3s ease}.professor-item:hover img{transform:scale(1.05)}.professor-item{background:#2c3440;padding:10px;border-radius:20px;text-align:left;width:100%;max-width:220px;min-width:220px;height:480px;display:flex;flex-direction:column;margin:0 auto 1rem;border:2px solid transparent;transition:all .3s ease;cursor:pointer}.professor-item:hover{border-color:#1e3a8a;box-shadow:0 10px 20px #0000004d}.professor-info{margin-top:auto;padding:8px 5px 5px;display:flex;flex-direction:column;gap:4px;flex:1;min-height:0}.professor-item h3{margin:8px 0 4px;font-size:15px;color:#eae8e8;font-weight:600;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis;min-height:40px}.professor-position{font-size:12px!important;color:#b4b4b4!important;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis;min-height:32px}.match-score{margin:6px 0 4px;min-height:35px}.match-score-label{display:flex;justify-content:space-between;font-size:12px;color:#d7d7d7;margin-bottom:2px}.match-score-label strong{color:#60a5fa}.score-bar{height:6px;background:#3a4555;border-radius:3px;overflow:hidden}.score-fill{height:100%;background:linear-gradient(90deg,#1e3a8a,#3b82f6);transition:width .5s ease}.matched-tags{display:flex;flex-wrap:wrap;gap:.25rem;margin:4px 0;min-height:24px}.tag{font-size:11px;padding:2px 8px;border-radius:10px;background:#3a4555;color:#d7d7d7;border:1px solid rgba(255,255,255,.1)}.tag.matched{background:#1e3a8a;color:#fff;border-color:#1e3a8a}.contact-row{display:flex;gap:.5rem;margin-top:auto;padding-top:8px;align-items:center;justify-content:space-between}.email-icon{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:#3a4555;border-radius:50%;text-decoration:none;transition:all .2s}.email-icon:hover{background:#1e3a8a}.detail-btn{flex:1;background:#1e3a8a;color:#fff;border:1px solid white;padding:6px 12px;border-radius:20px;font-size:12px;cursor:pointer;transition:all .2s;text-align:center}.detail-btn:hover{background:#fff;color:#2c3440}.results-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1.5rem;justify-items:center;padding-top:1rem}@media(max-width:1024px){.professor-item{min-width:210px;max-width:210px;height:460px}.professor-image-container{height:198px}}@media(max-width:480px){.results-grid{grid-template-columns:1fr}.professor-item{min-width:200px;max-width:200px;height:440px}.professor-image-container{height:160px}}.hero{height:90vh;background:linear-gradient(#0000004d,#00000080),url(/IoT_prof/ptb03.jpg) center/cover no-repeat;display:flex;align-items:center;justify-content:space-between;color:#fff;padding:120px 80px 0}.heroPhys{height:90vh;background:linear-gradient(#0000004d,#00000080),url(/IoT_prof/building_22.png) center/cover no-repeat;display:flex;align-items:center;justify-content:space-between;color:#fff;padding:120px 80px 0}.hero-left{max-width:600px}.hero-left h1{font-size:48px;line-height:1.2;height:300px}.hero-buttons{margin-top:40px;display:flex;gap:20px}.btn{padding:15px 25px;border-radius:12px;border:none;cursor:pointer}.btn.primary{background:#2563eb;color:#fff;width:100%}.btn.secondary{background:#fff3;color:#fff;width:100%}.hero-right{width:50%;display:flex;align-items:center;justify-content:center}.prof-container{display:flex;gap:30px;flex-wrap:wrap}.professors-section{background:#2f4a9e;padding:80px 20px;text-align:center;color:#fff}.professors-section h2{color:#fff;font-size:2.5rem;margin-bottom:2rem}.prof-grid{margin:50px auto 0;width:min(1200px,100%);padding:0 20px;display:grid;gap:20px;grid-template-columns:repeat(4,1fr);justify-content:center;justify-items:center}.staff-section{background:#3d4656;padding:80px 20px;text-align:center;color:#fff}.staff-section h2{color:#fff;font-size:2.5rem;margin-bottom:2rem}.prof-container{margin-top:50px;display:flex;gap:30px;flex-wrap:wrap;justify-content:center}.prof-actions{display:flex;align-items:center;gap:12px}.detail-content{display:grid;grid-template-columns:1.2fr 1fr;gap:60px;align-items:start}.research-section{background:#3d4656;padding:40px;border-radius:20px;display:grid;gap:30px}.paper-card img{width:100%;border-radius:12px}.education-section{background:#2b3f88;padding:40px;border-radius:20px;color:#fff}@media(max-width:768px){.hero,.heroPhys{flex-direction:column;justify-content:center;text-align:center;padding:100px 20px 40px;height:auto}.hero h1,.heroPhys h1{font-size:28px;line-height:1.3}.hero-buttons{flex-direction:column;gap:10px}.hero-buttons button{width:100%}.hero .prof-card,.heroPhys .prof-card{margin-top:30px;margin-right:0}.prof-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;padding:0 16px}}@media(min-width:769px)and (max-width:1024px){.hero,.heroPhys{padding:0 60px}.hero h1,.heroPhys h1{font-size:36px}.hero .prof-card,.heroPhys .prof-card{max-width:220px}.prof-grid{margin-top:50px;display:grid;gap:25px;grid-template-columns:repeat(3,1fr)}}.btn.matcher-trigger{background:linear-gradient(135deg,#1e3a8a,#3b82f6);color:#fff;border:1.5px solid white;font-weight:600;font-size:.85rem;padding:.6rem 1.2rem;box-shadow:0 4px 10px #1e3a8a33;animation:pulse 4s infinite}.btn.matcher-trigger:hover{transform:translateY(-2px);box-shadow:0 6px 15px #1e3a8a4d;animation:none}@keyframes pulse{0%,to{box-shadow:0 4px 10px #1e3a8a33;transform:scale(1)}50%{box-shadow:0 5px 12px #1e3a8a4d;transform:scale(1.02)}}.hero-buttons{display:flex;flex-direction:column;gap:.75rem;margin-top:1.5rem;align-items:flex-start}.hero-buttons .btn{width:100%;max-width:350px;justify-content:center;text-align:center}@media(max-width:768px){.hero-buttons .btn{max-width:100%}.btn.matcher-trigger{font-size:.95rem;padding:.8rem 1.2rem}}:root{--detail-blue: #2f57c3;--detail-dark: #374151;--detail-glass: rgba(55, 65, 81, .85);--detail-accent: #6366f1;--text-main: #ffffff;--text-muted: #94a3b8;--text-dim: #cbd5e1}.detail-container{background-color:var(--detail-blue);width:100%;min-height:100vh;padding:100px 20px 80px;display:flex;justify-content:center;align-items:flex-start;position:relative;overflow:hidden;box-sizing:border-box}.detail-bg-accent-1{position:absolute;top:-10%;right:-5%;width:500px;height:500px;background:radial-gradient(circle,rgba(255,255,255,.1) 0%,transparent 70%);z-index:1;pointer-events:none}.detail-bg-accent-2{position:absolute;bottom:-10%;left:-5%;width:400px;height:400px;background:radial-gradient(circle,rgba(255,255,255,.05) 0%,transparent 70%);z-index:1;pointer-events:none}.detail-content{width:100%;max-width:1100px;background-color:var(--detail-glass);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);padding:50px;border-radius:30px;box-shadow:0 40px 100px #0006;border:1px solid rgba(255,255,255,.1);color:var(--text-main);z-index:10;display:flex;flex-direction:column;gap:40px}.detail-header-wrapper{width:100%;display:flex;flex-direction:column;gap:20px;border-bottom:2px solid rgba(255,255,255,.05);padding-bottom:40px;margin-bottom:10px}.detail-header-container{display:flex;flex-direction:column;gap:15px;width:100%}.header-identity-block{display:flex;align-items:center;gap:15px}.name-indicator{width:6px;height:45px;background:var(--detail-accent);border-radius:20px;box-shadow:0 0 20px #6366f166}.prof-name-main{font-size:clamp(1.8rem,5vw,2.8rem);font-weight:800;margin:0;color:var(--text-main);letter-spacing:-.5px;line-height:1.1;text-transform:capitalize}.prof-name-en-sub{font-size:1.1rem;color:var(--text-muted);font-weight:400;margin-top:5px;letter-spacing:1px;text-transform:uppercase;opacity:.7}.prof-position-badge{display:flex;align-items:center;gap:10px;background:#ffffff0a;color:var(--text-dim);padding:8px 18px;border-radius:100px;font-size:.95rem;font-weight:500;border:1px solid rgba(255,255,255,.08);width:fit-content;transition:all .3s cubic-bezier(.4,0,.2,1)}.prof-position-badge:hover{background:#ffffff14;border-color:var(--detail-accent);transform:translate(5px)}.prof-contact-meta{display:flex;align-items:center;gap:10px;color:var(--text-muted);font-size:.95rem;opacity:.8;margin-top:5px}.detail-main-grid{display:grid;grid-template-columns:350px 1fr;gap:60px;align-items:start}.section-divider{display:flex;align-items:center;gap:12px;color:var(--text-main);font-size:1rem;font-weight:700;margin-bottom:30px;text-transform:uppercase;letter-spacing:1.5px;opacity:.9}.section-divider svg{color:var(--detail-accent)}.section-divider:after{content:"";flex:1;height:1px;background:linear-gradient(to right,rgba(255,255,255,.15),transparent)}.left-section,.right-section{display:flex;flex-direction:column}.prof-image-container{width:100%;border-radius:24px;overflow:hidden;aspect-ratio:1 / 1.1;background:#2a3341;box-shadow:0 20px 50px #00000080;position:relative;margin-bottom:40px}.prof-detail-image{width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.33,1,.68,1)}.prof-image-container:hover .prof-detail-image{transform:scale(1.08)}.info-block{margin-bottom:0}.section-subtitle{display:flex;align-items:center;gap:10px;font-size:1.1rem;font-weight:600;color:var(--text-main);margin-bottom:20px}.icon-accent{color:var(--detail-accent)}.premium-list{list-style:none;padding:0;margin:0}.list-item-animate{position:relative;padding-left:20px;margin-bottom:12px;color:var(--text-dim);line-height:1.7;font-size:1.05rem;opacity:0;animation:slideInLeft .5s ease forwards}.list-item-animate:before{content:"";position:absolute;left:0;top:10px;width:6px;height:6px;background:var(--detail-accent);border-radius:50%}.expertise-grid{display:flex;flex-wrap:wrap;gap:10px}.expertise-tag{background:#6366f126;color:#a5b4fc;padding:8px 16px;border-radius:12px;font-size:.95rem;font-weight:500;border:1px solid rgba(99,102,241,.2);transition:all .3s ease}.expertise-tag:hover{background:#6366f140;transform:translateY(-3px);border-color:#6366f166}.research-grid{display:flex;flex-direction:column;gap:20px}.research-card{position:relative;width:100%;border-radius:16px;overflow:hidden;box-shadow:0 10px 30px #0000004d;background:#2a3341;display:block}.research-card img{width:100%;height:auto;display:block;transition:filter .3s ease}.research-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:#00000080;display:flex;justify-content:center;align-items:center;opacity:0;transition:opacity .3s ease}.research-card:hover .research-overlay{opacity:1}.research-card:hover img{filter:blur(2px)}.research-link-line{display:flex;align-items:center;gap:12px;padding:15px 20px;background:#ffffff0d;border-radius:12px;border:1px solid rgba(255,255,255,.05);transition:all .3s ease}.research-link-line:hover{background:#ffffff14;transform:translate(5px)}.research-link-line a{color:var(--text-dim);text-decoration:none;font-size:.95rem;word-break:break-all}.research-link-line a:hover{color:var(--text-main);text-decoration:underline}@keyframes fadeIn{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}@keyframes revealImage{0%{opacity:0;clip-path:inset(100% 0 0 0)}to{opacity:1;clip-path:inset(0 0 0 0)}}.fade-in-section{animation:fadeIn .8s ease-out forwards}.reveal-image{animation:revealImage 1.2s cubic-bezier(.22,1,.36,1) forwards}.animate-on-reveal{opacity:0;animation:fadeIn .6s ease-out forwards}.back-button-container{margin-top:50px;padding-top:30px;border-top:1px solid rgba(255,255,255,.1)}.premium-btn{background:#fff;color:#1e293b;border:none;padding:14px 30px;border-radius:12px;font-weight:700;display:flex;align-items:center;gap:12px;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 10px 30px #0003;width:fit-content}.premium-btn:hover{transform:translate(-10px);background:#f8fafc;box-shadow:0 15px 40px #0000004d}@media(max-width:1024px){.detail-main-grid{grid-template-columns:1fr;gap:50px}.left-section{max-width:500px;margin:0 auto;width:100%}.detail-content{padding:40px}}@media(max-width:640px){.detail-container{padding:80px 10px 40px}.detail-content{padding:30px 20px;border-radius:24px;gap:35px}.detail-header-wrapper{padding-bottom:20px}.prof-contact-meta{font-size:.85rem;padding:6px 15px}}.detail-spinner{width:40px;height:40px;border:3px solid rgba(255,255,255,.1);border-top-color:var(--detail-accent);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.detail-loading-wrapper,.detail-error-card{padding:60px;text-align:center;color:#fff}.admin-container{padding:4rem 2rem;min-height:100vh;background-color:#121212;color:#fff;font-family:Inter,sans-serif;display:flex;flex-direction:column;align-items:center}.admin-title{font-size:2.5rem;font-weight:700;margin-bottom:2rem;color:#e0e0e0;text-align:center}.admin-controls{margin-bottom:2rem;display:flex;align-items:center;gap:1rem;background:#1e1e1e;padding:1rem 2rem;border-radius:8px;box-shadow:0 4px 12px #0000001a}.dept-select{background-color:#2c2c2c;border:1px solid #444;color:#fff;padding:8px 16px;border-radius:4px;font-family:inherit;cursor:pointer}.dept-select:focus{outline:none;border-color:#007bff}.admin-table-wrapper{width:100%;max-width:1000px;overflow-x:auto;border-radius:12px;box-shadow:0 8px 24px #0003;background-color:#1e1e1e}.admin-table{width:100%;border-collapse:collapse;text-align:left}.admin-table th,.admin-table td{padding:16px 24px;border-bottom:1px solid #333}.admin-table th{background-color:#2c2c2c;font-weight:600;color:#a0a0a0;text-transform:uppercase;font-size:.85rem;letter-spacing:.05em}.admin-table tr{transition:background-color .2s ease}.admin-table tbody tr:hover{background-color:#2a2a2a}.admin-table td{color:#e0e0e0;font-size:.95rem}.admin-table-wrapper::-webkit-scrollbar{height:8px}.admin-table-wrapper::-webkit-scrollbar-track{background:#1e1e1e}.admin-table-wrapper::-webkit-scrollbar-thumb{background:#444;border-radius:4px}.admin-table-wrapper::-webkit-scrollbar-thumb:hover{background:#555}.edit-input{background-color:#2c2c2c;border:1px solid #444;color:#fff;padding:10px 12px;border-radius:6px;width:100%;font-family:inherit;font-size:1rem;box-sizing:border-box}.edit-input:focus{outline:none;border-color:#007bff;background-color:#333}.actions-cell{display:flex;gap:8px;white-space:nowrap}.btn-edit,.btn-save,.btn-cancel{padding:8px 16px;border-radius:6px;font-size:.95rem;font-weight:600;cursor:pointer;border:none;transition:all .2s ease}.btn-edit{background-color:#2196f3;color:#fff}.btn-save{background-color:#4caf50;color:#fff}.btn-cancel{background-color:#f44336;color:#fff}.btn-edit:hover,.btn-save:hover,.btn-cancel:hover{opacity:.8}input[type=date].edit-input{width:160px;font-size:1rem;cursor:pointer;padding:10px 16px}input[type=text].edit-input{font-size:1rem;padding:10px 16px}.iot-page-container{font-family:Kanit,sans-serif}.iot-header-white{background:#f5f5f1;padding:120px 8% 40px;color:#2853ca;position:relative}.btn-back-link{display:inline-flex;align-items:center;gap:8px;text-decoration:none;color:#1e3a8a;font-weight:600;margin-bottom:20px;cursor:pointer;background:none;border:none;padding:0;font-family:inherit;font-size:1rem}.btn-back-link:hover{color:#2f57c3}.course-main-title{font-size:2.4rem;font-weight:800;margin:0}.course-type-label{font-size:1.6rem;opacity:.8;margin-top:5px}.iot-dark-body{background:#1e3a8a;padding:50px 8%;min-height:100vh}.iot-tabs-navigation{display:flex;border-radius:25px;gap:15px;margin-bottom:0;align-items:stretch}.iot-tab-box{flex:1;padding:15px;border-radius:25px;border:none;background:#2f57c3;color:#fff;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;transition:.2s;min-height:100px}.iot-tab-box.active{border-radius:25px 25px 0 0;background:#f5f5f1;color:#1d3557;font-weight:700}.iot-tab-box.active .tab-primary{border-bottom:2px solid #1d3557;padding-bottom:2px;display:inline-block}.tab-primary{font-size:1.4rem;font-weight:800;letter-spacing:1px}.tab-secondary{font-size:.9rem;margin-top:8px;font-weight:500}.iot-accordion-list-bg{background:#f5f5f1;border-radius:0 0 25px 25px;padding:30px}.accordion-head-click{background:#374157;color:#fff;padding:20px 30px;border-radius:12px;margin-bottom:12px;display:flex;justify-content:space-between;align-items:center;cursor:pointer;transition:.2s}.accordion-head-click.is-expanded{border-radius:12px 12px 0 0;margin-bottom:0}.accordion-body-info{background:#e9e9e4;padding:30px 40px;border-radius:0 0 12px 12px;margin-bottom:15px;color:#1d3557;border-top:1px solid rgba(0,0,0,.1)}.info-topic{font-weight:700;margin:20px 0 8px;font-size:1.1rem}.info-bullet-list{padding-left:20px;margin:0}.info-plain-text{margin:0;line-height:1.6}.info-link-text{color:#1d3557;text-decoration:underline;display:block;word-break:break-all;overflow-wrap:anywhere;margin-top:8px}@media(max-width:768px){.iot-header-white{padding:100px 5% 30px}.course-main-title{font-size:1.6rem}.course-type-label{font-size:1.1rem}.iot-dark-body{padding:30px 5%}.iot-tabs-navigation{flex-direction:column;gap:10px}.iot-tab-box{min-height:70px;padding:10px;border-radius:12px}.iot-tab-box.active{border-radius:12px}.tab-primary{font-size:1.1rem}.iot-accordion-list-bg{margin-top:20px;padding:15px;border-radius:15px}.accordion-head-click{padding:15px 20px;font-size:.9rem}.accordion-body-info{padding:20px}.info-topic{font-size:1rem}.info-bullet-list li,.info-plain-text{font-size:.9rem}.btn-back-link{font-size:.9rem;margin-bottom:10px}}.navbar{display:flex;justify-content:space-between;align-items:center;padding:10px 60px;background-color:#fff;position:fixed;top:0;left:0;width:100%;z-index:1000;transition:transform .4s ease-in-out;border-bottom:1px solid #e5e7eb;box-shadow:0 2px 10px #0000000d}.navbar-hidden{transform:translateY(-100%)}.nav-brand{display:flex;align-items:center;justify-content:center;transition:transform .3s ease}.nav-brand:hover{transform:scale(1.05)}.logo-img{height:50px;width:auto;display:block}.nav-links-container{background-color:transparent;padding:0}.nav-links{display:flex;gap:35px;align-items:center}.nav-link{color:#1e3a8a;text-decoration:none;font-size:1rem;font-weight:600;padding:5px 0;transition:all .3s ease;position:relative}.nav-link:after{content:"";position:absolute;bottom:0;left:0;width:0;height:2px;background-color:#000;transition:width .3s ease}.nav-link:hover{color:#000}.nav-link:hover:after{width:100%}.nav-link.active{color:#000}.nav-link.active:after{width:100%}.hamburger{display:none;background:none;border:none;font-size:2rem;color:#1e3a8a;cursor:pointer}@media(max-width:768px){.navbar{padding:10px 25px}.hamburger{display:block}.nav-links-container{display:none;position:absolute;top:100%;left:0;width:100%;background-color:#fff;padding:20px 25px;box-shadow:0 4px 10px #0000001a;border-top:1px solid #e5e7eb}.nav-links-container.open{display:block}.nav-links{flex-direction:column;gap:20px;align-items:flex-start}}.app-container{position:relative;background-color:#f3f4f6;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif}.calendar-wrapper{position:fixed;top:50%;right:20px;transform:translateY(-50%);z-index:100}.trigger-btn{display:flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:50%;background-color:#fff;color:#2563eb;border:none;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;cursor:pointer;transition:all .3s ease;position:relative}.trigger-btn:hover{background-color:#eff6ff;transform:scale(1.1)}.trigger-btn.active{transform:translateY(-50%) scale(.9) rotate(12deg)}.icon-svg{width:32px;height:32px}.main-icon-dot{position:absolute;top:0;right:0;width:12px;height:12px;background-color:#ef4444;border-radius:50%;border:2px solid white}.calendar-popup{position:absolute;top:50%;transform:translateY(-50%);right:72px;width:320px;background-color:#fff;border-radius:16px;box-shadow:0 25px 50px -12px #00000040;overflow:visible;opacity:0;transform:translateY(-50%) scale(.9) translate(16px);pointer-events:none;transition:all .3s cubic-bezier(.4,0,.2,1);transform-origin:right center}.calendar-popup.open{opacity:1;transform:translateY(-50%) scale(1) translate(0);pointer-events:auto}.calendar-popup.open{opacity:1;transform:scale(1) translateY(0);pointer-events:auto}.popup-header{display:flex;align-items:center;justify-content:space-between;padding:16px;background-color:#f9fafb;border-bottom:1px solid #f3f4f6;border-top-left-radius:16px;border-top-right-radius:16px}.nav-btn{background:none;border:none;padding:4px;border-radius:50%;cursor:pointer;transition:background .2s}.nav-btn:hover{background-color:#e5e7eb}.nav-icon{width:20px;height:20px;color:#4b5563}.month-year-text{font-weight:700;color:#1f2937;font-size:1rem}.days-header-grid{display:grid;grid-template-columns:repeat(7,1fr);padding:8px;text-align:center}.day-name{font-size:.75rem;font-weight:600;color:#9ca3af;padding:4px 0}.days-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px 0;padding:8px;place-items:center}.calendar-day-placeholder{height:36px;width:36px}.calendar-day-wrapper{position:relative;display:flex;justify-content:center}.calendar-day-btn{height:36px;width:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.875rem;border:none;background:transparent;color:#374151;cursor:pointer;transition:all .2s;position:relative}.calendar-day-btn:hover{background-color:#f3f4f6}.calendar-day-btn.selected{background-color:#2563eb;color:#fff;font-weight:700;box-shadow:0 4px 6px -1px #0000001a;transform:scale(1.1)}.calendar-day-btn.today{border:1px solid #3b82f6;color:#2563eb;font-weight:600}.event-dot{position:absolute;bottom:6px;right:6px;width:6px;height:6px;background-color:#ef4444;border-radius:50%;border:1px solid white;animation:pulse 2s infinite}@keyframes pulse{0%{transform:scale(1);opacity:1}50%{transform:scale(1.2);opacity:.8}to{transform:scale(1);opacity:1}}.calendar-tooltip{position:absolute;bottom:100%;left:50%;transform:translate(-50%);margin-bottom:8px;z-index:50;width:max-content;max-width:150px}.tooltip-content{background-color:#1f2937;color:#fff;font-size:.75rem;padding:4px 8px;border-radius:4px;text-align:center;white-space:nowrap;box-shadow:0 10px 15px -3px #0000001a;position:relative}.tooltip-arrow{position:absolute;top:100%;left:50%;margin-left:-4px;border-width:4px;border-style:solid;border-color:#1f2937 transparent transparent transparent}.popup-footer{padding:12px;background-color:#f9fafb;text-align:center;font-size:.75rem;color:#6b7280;border-top:1px solid #f3f4f6;border-bottom-left-radius:16px;border-bottom-right-radius:16px}@media(max-width:480px){.calendar-wrapper{display:none!important}}.footer{background-color:#364052;color:#fff;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;padding:2rem 1rem}.footer-container{max-width:1280px;margin:0 auto;padding:0 1.5rem}.footer-desktop{display:none;grid-template-columns:repeat(12,1fr);gap:2rem;margin-bottom:2rem;align-items:start}@media(min-width:1024px){.footer-desktop{display:grid}}.footer-logo{grid-column:span 3;display:flex;flex-direction:column;align-items:flex-start;padding-top:.5rem}.footer-logo img{height:4rem;object-fit:contain;margin-bottom:1rem}.footer-contact{grid-column:span 5}.footer-title{font-size:1.25rem;font-weight:700;margin-bottom:1rem;padding-bottom:.25rem;border-bottom:1px solid rgba(255,255,255,.3);display:inline-block}.footer-email{display:flex;align-items:flex-start;gap:.75rem;margin-bottom:1rem}.footer-email svg{margin-top:.25rem;flex-shrink:0}.footer-email-list{display:flex;flex-direction:column}.footer-email a{color:#fff;text-decoration:none;transition:color .2s}.footer-email a:hover{color:#fb923c}.footer-info{margin-top:1.5rem;space-y:.75rem}.footer-info-item{display:flex;align-items:flex-start;gap:.75rem;margin-bottom:.75rem}.footer-info-item svg{flex-shrink:0;margin-top:.25rem}.footer-info-item span{font-size:.875rem;line-height:1.25}@media(min-width:640px){.footer-info-item span{font-size:1rem}}.footer-phone{display:flex;align-items:flex-start;gap:.75rem}.footer-phone svg{margin-top:.25rem;flex-shrink:0}.footer-phone-list{display:flex;flex-direction:column}.footer-map{grid-column:span 4}.footer-map-container{border:2px solid rgba(255,255,255,.2);border-radius:.375rem;overflow:hidden}.footer-map-container iframe{display:block;width:100%}.footer-mobile{display:block}@media(min-width:1024px){.footer-mobile{display:none}}.footer-mobile-logo{display:none;justify-content:flex-end;margin-bottom:1.5rem}@media(min-width:640px){.footer-mobile-logo{display:flex}}.footer-mobile-logo img{height:3rem;object-fit:contain}.footer-mobile-content{space-y:1.5rem}.footer-mobile-header{border-bottom:1px solid rgba(255,255,255,.3);padding-bottom:.5rem}.footer-mobile-section{margin-bottom:1.5rem}.footer-copyright{border-top:1px solid rgba(255,255,255,.2);margin-top:2rem;padding-top:1.5rem;font-size:.75rem;color:#d1d5db;line-height:1.5}@media(min-width:640px){.footer-copyright{font-size:.875rem}}.space-y-4>*+*{margin-top:1rem}.space-y-3>*+*{margin-top:.75rem}.footer-contact a:hover,.footer-mobile a:hover{color:#fb923c;transition:color .2s ease-in-out}.footer-text-sm{font-size:.875rem}@media(min-width:640px){.footer-text-sm{font-size:1rem}}
