body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}body{margin:0;font-family:Segoe UI,Frutiger,Dejavu Sans,Helvetica Neue,Arial,sans-serif}html{box-sizing:border-box;background:linear-gradient(135deg,#1a1a2e 0%,#16213e 50%,#0f3460 100%) fixed;overflow-x:hidden}*,:before,:after{box-sizing:inherit}p.intro{text-align:center;color:#e0e0e0;max-width:100%}.column-container{max-width:1200px;margin:auto}.column{float:left;width:50%;margin:16px 0%}@media screen and (width<=650px){.column{width:100%;display:block}}.card{-webkit-backdrop-filter:blur(12px);background:#ffffff59;border:1px solid #ffffff80;border-radius:16px;margin:16px 12px;transition:box-shadow .3s,transform .3s;overflow:hidden;box-shadow:0 4px 16px #00000014}.card:hover{transform:translateY(-2px);box-shadow:0 6px 24px #00000026}.about-section{text-align:center;color:#e0e0e0;text-shadow:none;padding:16px 15%}.container-header{text-align:center;color:#fff;text-shadow:0 0 4px #0000004d;background:linear-gradient(135deg,#03bffe 0%,#028ad4 100%);border-radius:12px 12px 0 0;margin:auto;padding:12px 16px;display:grid;box-shadow:0 2px 8px #03bffe4d}.container-header-bar{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background-color:#ffffff26;flex-wrap:wrap;margin:0;padding:0;display:flex}.container-header-bar a{text-align:center;color:#ffffffbf;cursor:pointer;border-bottom:3px solid #0000;flex-grow:1;margin:auto;padding:12px 8px;font-size:14px;font-weight:500;transition:all .2s}.container-header-bar a:hover,.container-header-bar a:focus{color:#fff;background-color:#ffffff1a;border-bottom:3px solid #03bffe;padding-bottom:9px}.container-header-bar a.active,.container-header-bar a.active:hover,.container-header-bar a.active:focus{color:#fff;background-color:#03bffe4d;border-bottom:3px solid #03bffe;padding-bottom:9px;font-weight:600}.container{color:#e0e0e0;margin:0;padding:20px 24px;display:block;position:relative}.global-bg-shapes{pointer-events:none;z-index:0;position:fixed;inset:0;overflow:hidden}.global-shape{filter:blur(80px);opacity:.3;border-radius:50%;animation:8s ease-in-out infinite global-float;position:absolute}.global-shape-1{background:#fe4203;width:400px;height:400px;animation-duration:8.5s;top:-100px;right:-100px}.global-shape-2{background:#03bffe;width:300px;height:300px;animation-duration:10.2s;bottom:-50px;left:-50px}.global-shape-3{background:#fe4203;width:250px;height:250px;margin-top:-125px;margin-left:-125px;animation-duration:7.65s;top:50%;left:50%}.global-shape-4{background:#03bffe;width:200px;height:200px;animation-duration:9.35s;top:20%;left:10%}.global-shape-5{background:#fe4203;width:350px;height:350px;animation-duration:11.05s;bottom:10%;right:15%}@keyframes global-float{0%,to{opacity:.3;transform:translate(0)scale(1)}25%{opacity:.375;transform:translate(31px,-25px)scale(1.03)}50%{opacity:.225;transform:translate(-19px,19px)scale(.97)}75%{opacity:.34;transform:translate(19px,10px)scale(1.01)}}@keyframes global-float-2{0%,to{opacity:.3;transform:translate(0)scale(1)}25%{opacity:.225;transform:translate(-25px,31px)scale(1.04)}50%{opacity:.375;transform:translate(31px,-19px)scale(.96)}75%{opacity:.34;transform:translate(-13px,-25px)scale(1.02)}}@keyframes global-float-3{0%,to{opacity:.3;transform:translate(0)scale(1)}33%{opacity:.375;transform:translate(25px,31px)scale(1.03)}66%{opacity:.225;transform:translate(-31px,-13px)scale(.98)}}@keyframes global-float-4{0%,to{opacity:.3;transform:translate(0)scale(1)}25%{opacity:.225;transform:translate(-38px,-19px)scale(1.02)}50%{opacity:.34;transform:translate(19px,31px)scale(.97)}75%{opacity:.375;transform:translate(-13px,19px)scale(1.03)}}@keyframes global-float-5{0%,to{opacity:.3;transform:translate(0)scale(1)}20%{opacity:.375;transform:translate(19px,-31px)scale(1.04)}40%{opacity:.225;transform:translate(-25px,-19px)scale(.96)}60%{opacity:.34;transform:translate(31px,13px)scale(1.02)}80%{opacity:.375;transform:translate(-19px,25px)scale(.98)}}.global-shape-1{animation-name:global-float}.global-shape-2{animation-name:global-float-2}.global-shape-3{animation-name:global-float-3}.global-shape-4{animation-name:global-float-4}.global-shape-5{animation-name:global-float-5}.header{text-align:center;color:#fff;background:#1abc9c;padding:80px}.header h1{font-size:40px}.section h2{color:#fff}.button{color:#fff;text-align:center;cursor:pointer;font:inherit;background-color:#000;border:none;border-radius:8px;outline:0;padding:10px 20px;transition:background-color .2s,box-shadow .2s;display:inline-block}.button:hover{background-color:#555}.title{color:gray}.info-text{color:#d0d0d0;margin:8px 0;font-size:15px;line-height:1.6}.info-table{margin:16px 0}.info-table table{border-collapse:collapse;width:100%}.info-table td{vertical-align:top;padding:8px 0}.info-label{color:#fff;text-align:right;width:160px;min-width:160px;padding-right:16px;font-weight:600}.info-content{color:#d0d0d0;line-height:1.6}.center-heading{text-align:center}.divider{background:linear-gradient(90deg,#0000,#03bffe,#0000);border:none;height:1px;margin:16px 0}.simulation-header{text-align:center;max-width:800px;margin:0 auto;padding:40px 20px}.simulation-header h1{color:#fff;margin:0 0 8px;font-size:2rem;font-weight:600}.simulation-header p{color:#8892b0;margin:0;font-size:1rem}.simulation-info-card{-webkit-backdrop-filter:blur(10px);background:#ffffff1a;border:1px solid #fff3;border-radius:12px;max-width:800px;margin:0 auto 1.5rem;padding:1.5rem}.simulation-info-card h2{color:#fff;text-align:center;margin:0 0 12px;font-size:1.25rem;font-weight:600}.simulation-info-card p{color:#c0c8d8;margin:0 0 10px;font-size:.9rem;line-height:1.55}.navbar-container{justify-content:center;width:100%;padding:0 16px;display:flex}.navbar{-webkit-backdrop-filter:blur(12px);z-index:100;background-color:#ffffff1a;border:1px solid #ffffff26;border-radius:12px;flex-wrap:wrap;justify-content:space-between;align-items:center;width:100%;max-width:800px;margin:16px;padding:12px 24px;display:flex;overflow:visible;box-shadow:0 4px 16px #0003}.navbar .logo{flex-shrink:0;text-decoration:none;display:block}.navbar .nav-links{align-items:center;gap:4px;margin-left:24px;display:flex}@media (width<=582px){.navbar{grid-template-columns:1fr auto 1fr;grid-template-areas:"logo.social""nav nav nav";align-items:center;row-gap:8px;display:grid}.navbar .logo{grid-area:logo;justify-self:start}.navbar .nav-links{grid-area:nav;justify-content:center;margin-left:0}.navbar .social-links{grid-area:social;justify-self:end}}.dropdown{display:inline-block;position:relative}.dropdown-btn{color:#ffffffd9;font-size:inherit;white-space:nowrap;border-radius:6px;padding:8px 16px;text-decoration:none;transition:all .2s;display:block}.dropdown-btn:hover{color:#fff;background-color:#ffffff1a}.dropdown-content{-webkit-backdrop-filter:blur(12px);z-index:1000;text-align:center;background-color:#1a1a2ef2;border:1px solid #ffffff26;border-radius:8px;min-width:160px;margin-top:-1px;display:none;position:absolute;top:100%;left:50%;overflow:hidden;transform:translate(-50%);box-shadow:0 4px 12px #0006}.dropdown-content a{color:#fffffff2;text-align:center;padding:10px 16px;text-decoration:none;transition:all .2s;display:block}.dropdown-content a:hover{color:#fff;background-color:#ffffff1a}.dropdown-content a.active{color:#fff;background-color:#03bffe33;font-weight:600}.dropdown:hover .dropdown-content{display:block}.navbar .logo img{width:auto;max-width:120px;height:auto;display:block}.navbar a{color:#ffffffd9;white-space:nowrap;border-radius:6px;padding:8px 16px;text-decoration:none;transition:all .2s}.navbar a:hover{color:#fff;background-color:#ffffff1a}.navbar a.active{color:#fff;background-color:#03bffe33;font-weight:600}.navbar a.active:hover{background-color:#03bffe4d}.navbar .social-links{align-items:center;gap:8px;margin-left:auto;display:flex}.social-icon-wrapper{align-items:center;display:flex;position:relative}.navbar .social-links a{align-items:center;padding:8px;display:flex}.social-icon-btn{color:#ffffffd9;cursor:pointer;background:0 0;border:none;border-radius:6px;align-items:center;padding:8px;transition:all .2s;display:flex}.social-icon-btn:hover{color:#fff;background-color:#ffffff1a}.copied-tooltip{color:#03bffe;pointer-events:none;white-space:nowrap;opacity:0;background:#1a1a2ef2;border-radius:4px;padding:4px 10px;font-size:.8rem;font-weight:500;transition:opacity .3s,transform .3s;position:absolute;bottom:-28px;left:50%;transform:translate(-50%)translateY(4px)}.copied-tooltip.visible{opacity:1;transform:translate(-50%)translateY(0)}.hero{cursor:default;justify-content:center;align-items:center;width:100%;min-height:33vh;display:flex;position:relative}.hero-bg-shapes{pointer-events:none;position:absolute;inset:0;overflow:hidden}.hero-shape{filter:blur(80px);opacity:.3;border-radius:50%;animation:8s ease-in-out infinite float;position:absolute}.hero-shape-1{background:#fe4203;width:400px;height:400px;animation-duration:10s;top:-100px;right:-100px}.hero-shape-2{background:#03bffe;width:300px;height:300px;animation-duration:12s;bottom:-50px;left:-50px}.hero-shape-3{background:#fe4203;width:250px;height:250px;animation-duration:9s;top:50%;left:50%;transform:translate(-50%,-50%)}.hero-shape-4{background:#03bffe;width:200px;height:200px;animation-duration:11s;top:20%;left:10%}.hero-shape-5{background:#fe4203;width:350px;height:350px;animation-duration:13s;bottom:10%;right:15%}@keyframes float{0%,to{transform:translate(0)scale(1)}25%{transform:translate(30px,-30px)scale(1.05)}50%{transform:translate(-20px,20px)scale(.95)}75%{transform:translate(20px,10px)scale(1.02)}}.hero-content{z-index:1;text-align:center;padding:2rem;position:relative}.hero-greeting{color:#fff;-webkit-user-select:none;user-select:none;justify-content:center;align-items:baseline;gap:.1em;margin-bottom:1rem;font-family:Kanit,sans-serif;font-size:clamp(4rem,12vw,10rem);font-weight:900;line-height:1;display:flex}.hero-letter{transform:scale(var(--scale,1));cursor:default;text-shadow:0 0 20px #fe420300,0 0 40px #03bffe00;will-change:transform, text-shadow;transition:transform 75ms ease-out;display:inline-block}.hero-letter:hover{text-shadow:0 0 20px #fe420399,0 0 40px #fe42034d,0 0 60px #fe42031a}.hero-block-text{justify-content:center;align-items:center;display:flex}.hero-block-wrapper{transform-origin:50%;transition:transform .3s}@media (width<=1200px){.hero-block-wrapper{transform:scale(.85)}}@media (width<=950px){.hero-block-wrapper{transform:scale(.7)}}@media (width<=750px){.hero-block-wrapper{transform:scale(.55)}}@media (width<=582px){.hero-block-wrapper{transform:scale(.42)}}.hero-block-letter{display:inline-grid}.hero-block{border-radius:2px;width:100%;height:100%}.hero-subtitle{color:#ffffffb3;letter-spacing:.15em;text-transform:uppercase;margin-bottom:2.5rem;font-family:Inter,Segoe UI,sans-serif;font-size:clamp(1rem,2.5vw,1.5rem);font-weight:300}.hero-intro{color:#ffffffd9;text-align:center;max-width:600px;margin:0 auto 2rem;font-family:Inter,Segoe UI,sans-serif;font-size:clamp(1.1rem,2vw,1.4rem);font-weight:400;line-height:1.6}.hero-cta{flex-wrap:wrap;justify-content:center;gap:1.5rem;display:flex}.hero-btn{border-radius:50px;align-items:center;gap:.5rem;padding:.9rem 2rem;font-family:Inter,Segoe UI,sans-serif;font-size:1rem;font-weight:600;text-decoration:none;transition:all .3s;display:inline-flex;position:relative;overflow:hidden}.hero-btn:before{content:"";border-radius:inherit;opacity:0;transition:opacity .3s;position:absolute;inset:0}.hero-btn-primary{color:#fff;background:linear-gradient(135deg,#fe4203,#ff6b35);box-shadow:0 4px 15px #fe420366}.hero-btn-primary:hover{transform:translateY(-2px);box-shadow:0 8px 25px #fe420380}.hero-btn-primary:active{transform:translateY(0)}.hero-btn-secondary{color:#fff;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:0 0;border:2px solid #ffffff4d}.hero-btn-secondary:hover{color:#03bffe;border-color:#03bffe;transform:translateY(-2px);box-shadow:0 0 20px #03bffe33}.hero-btn-secondary:active{transform:translateY(0)}.contact-email-wrapper{flex-direction:column;align-items:center;display:flex;position:relative}.copied-feedback{color:#03bffe;pointer-events:none;white-space:nowrap;opacity:0;font-size:.9rem;font-weight:500;transition:opacity .3s,transform .3s;position:absolute;bottom:-28px;left:50%;transform:translate(-50%)translateY(4px)}.copied-feedback.visible{opacity:1;transform:translate(-50%)translateY(0)}@media (width<=600px){.hero-cta{flex-direction:column;align-items:center}.hero-btn{justify-content:center;width:200px}}.hero-btn-secondary{cursor:pointer}:root{--color-bg:#1a1a2e;--color-text:#e0e0e0;--color-heading:#fff;--color-link:#03bffe;--color-link-hover:#0288d1;--color-card-bg:#ffffff14;--color-card-border:#ffffff1f;--color-card-shadow:#0000004d;--color-card-hover-shadow:#00000080;--radius-card:16px;--spacing-section:40px;--spacing-content:24px}.home-content{flex-direction:column;align-items:center;max-width:800px;margin:0 auto;padding:0 16px;display:flex}.project-page-wide{max-width:888px;margin:0 auto}.project-page-wide .card h2{text-align:center}.project-page-wide .card .intro{text-align:center;width:100%;max-width:100%}.section{margin-bottom:var(--spacing-section);width:100%}.card{background:var(--color-card-bg);-webkit-backdrop-filter:blur(12px);border:1px solid var(--color-card-border);border-radius:var(--radius-card);box-shadow:0 4px 16px var(--color-card-shadow);padding:var(--spacing-content);transition:box-shadow .3s,transform .3s}.card:hover{box-shadow:0 6px 24px var(--color-card-hover-shadow);transform:translateY(-2px)}.section h2{color:var(--color-heading);margin-top:0;margin-bottom:16px;font-size:1.5rem}.projects-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px;padding:24px;display:grid}.project-card{background:var(--color-card-bg,#ffffff14);border:1px solid var(--color-card-border,#ffffff1f);border-radius:12px;transition:box-shadow .3s,transform .3s;overflow:hidden}.project-card:hover{box-shadow:0 6px 24px var(--color-card-hover-shadow,#0000004d);transform:translateY(-2px)}.project-card-image{width:100%;height:160px;position:relative;overflow:hidden}.project-card-image img,.project-card-image video{object-fit:cover;width:100%;height:100%;display:block}.ml-card .project-card-image img,.ml-card .project-card-image video{object-fit:contain;background-color:#fff;height:100%}.project-card-placeholder{justify-content:center;align-items:center;display:flex}.project-card-icon{opacity:.8;font-size:48px}.project-card-content{padding:20px}.project-card-content h3{color:var(--color-heading,#fff);margin-top:0;margin-bottom:12px}.project-card-content p{color:var(--color-text,#e0e0e0);margin-bottom:16px;line-height:1.6}.project-link{color:#03bffe;font-weight:600;text-decoration:none;transition:color .2s;display:inline-block}.project-link:hover{color:#fff}.project-links{flex-direction:column;gap:8px;display:flex}.external-link{color:#4ade80}.external-link:hover{color:#86efac}.try-it-out{color:#4ade80}.try-it-out:hover{color:#86efac}.project-link.coming-soon{color:#ffffff80;cursor:default}.project-images{grid-template-columns:repeat(2,1fr);gap:20px;margin:28px 0;display:grid}.image-caption-group{flex-direction:column;gap:8px;display:flex}.project-image{border:1px solid var(--color-card-border,#ffffff1a);border-radius:8px;width:100%;max-width:380px;height:auto;margin:0 auto;display:block;box-shadow:0 2px 8px #0003}.image-caption{color:var(--color-text,#e0e0e0);text-align:center;font-size:.85rem;font-style:italic;line-height:1.5}.project-videos{flex-direction:column;align-items:center;gap:28px;width:100%;max-width:840px;margin:28px auto;display:flex}.video-caption-group{flex-direction:column;gap:8px;display:flex}.video-container{aspect-ratio:16/9;border:1px solid var(--color-card-border,#ffffff1a);border-radius:8px;justify-content:center;align-items:center;width:100%;max-width:380px;display:flex;overflow:hidden;box-shadow:0 2px 8px #0003}.video-container-desktop{aspect-ratio:auto;max-width:840px;height:auto;margin:0 auto}.video-container-mobile{aspect-ratio:auto;width:auto;max-width:450px;height:auto;margin:0 auto}.project-video{object-fit:contain;width:100%;height:100%;display:block}.video-caption{color:var(--color-text,#e0e0e0);text-align:center;font-size:.85rem;font-style:italic;line-height:1.5}.project-page-card .intro{width:100%;max-width:100%}.project-page-card h2{text-align:center;margin-bottom:20px}.project-page-card>a{text-align:center;margin-top:20px;display:block}.section-title-centered{text-align:center}.stack-icons{flex-direction:column;align-items:center;gap:24px;margin:24px 0;display:flex}.stack-icon-row{flex-wrap:wrap;justify-content:center;gap:24px;display:flex}.stack-icon-item{flex-direction:column;align-items:center;gap:8px;transition:transform .2s;display:flex}.stack-icon{width:48px;height:48px}.intro{text-align:center;width:100%;max-width:100%}.stack-icon-item{transition:none}.stack-icon-item:hover{transform:none}.kanit-thin{font-family:Kanit,serif;font-style:normal;font-weight:100}.kanit-extralight{font-family:Kanit,serif;font-style:normal;font-weight:200}.kanit-light{font-family:Kanit,serif;font-style:normal;font-weight:300}.kanit-regular{font-family:Kanit,serif;font-style:normal;font-weight:400}.kanit-medium{font-family:Kanit,serif;font-style:normal;font-weight:500}.kanit-semibold{font-family:Kanit,serif;font-style:normal;font-weight:600}.kanit-bold{font-family:Kanit,serif;font-style:normal;font-weight:700}.kanit-extrabold{font-family:Kanit,serif;font-style:normal;font-weight:800}.kanit-black{font-family:Kanit,serif;font-style:normal;font-weight:900}.kanit-thin-italic{font-family:Kanit,serif;font-style:italic;font-weight:100}.kanit-extralight-italic{font-family:Kanit,serif;font-style:italic;font-weight:200}.kanit-light-italic{font-family:Kanit,serif;font-style:italic;font-weight:300}.kanit-regular-italic{font-family:Kanit,serif;font-style:italic;font-weight:400}.kanit-medium-italic{font-family:Kanit,serif;font-style:italic;font-weight:500}.kanit-semibold-italic{font-family:Kanit,serif;font-style:italic;font-weight:600}.kanit-bold-italic{font-family:Kanit,serif;font-style:italic;font-weight:700}.kanit-extrabold-italic{font-family:Kanit,serif;font-style:italic;font-weight:800}.kanit-black-italic{font-family:Kanit,serif;font-style:italic;font-weight:900}.vertical-timeline{flex-direction:column;align-items:center;gap:24px;max-width:800px;margin:0 auto;display:flex;position:relative}.event{grid-template-columns:1fr 20px 1fr;align-items:flex-start;gap:12px;width:100%;display:grid;position:relative}.event-date{color:#e0e0e0;-webkit-backdrop-filter:blur(8px);white-space:nowrap;background:#ffffff26;border:1px solid #ffffff40;border-radius:8px;grid-column:1;justify-self:end;margin-top:4px;padding:6px 12px;font-size:.85rem;font-weight:600}.event-line{z-index:0;background:linear-gradient(#fe420399,#03bffe99);grid-column:2;width:2px;height:calc(100% + 24px);position:absolute;top:20px;left:10px;transform:translate(-50%)}.event-circle{z-index:1;background:radial-gradient(circle,#fe4203 0%,#e03500 100%);border:2px solid #ffffff4d;border-radius:50%;grid-column:2;justify-self:center;width:16px;height:16px;margin-top:12px;position:relative;box-shadow:0 0 10px #fe420366}.event-description{text-align:left;-webkit-backdrop-filter:blur(10px);background:#ffffff1f;border:1px solid #fff3;border-radius:12px;grid-column:3;min-width:160px;margin-top:0;padding:6px 16px 16px 14px;transition:background .2s,transform .2s;box-shadow:0 4px 12px #0000001a}.event-description:hover{background:#ffffff2e;transform:translate(2px)}.event-description h3{color:#fff;margin-top:0;margin-bottom:6px;font-size:1rem;font-weight:600}.event-description p{color:#d0d0d0;margin-bottom:0;font-size:.9rem;line-height:1.5}.img-center{margin:auto;display:block}.button-submit{color:#fff;text-align:center;font:inherit;cursor:pointer;background-color:#ff845b;border:none;border-radius:8px;margin:auto;padding:8px;display:block}.button-submit:disabled{background-color:#ffa78a}.button-submit:hover:enabled,.button-submit:focus:enabled{box-shadow:0 0 2px 4px #ff6636}.button-submit:active:enabled{background-color:#ff6636}.grid-container{grid-template-rows:repeat(auto-fill,1fr);grid-template-columns:repeat(auto-fill,minmax(150px,1fr));grid-auto-flow:row;display:grid}.grid-item{color:#e0e0e0;align-items:center;padding:4px 8px;font-size:14px;display:flex}.grid-item input[type=checkbox],.grid-item input[type=radio]{accent-color:#03bffe;margin-right:8px}.grid-item label{color:#d0d0d0;cursor:pointer}form{color:#e0e0e0}form b,form strong{color:#fff}.dataset-option-group input[type=radio]{opacity:0;width:0;height:0;position:absolute}.dataset-option{cursor:pointer;background:#ffffff0f;border:1px solid #ffffff1f;border-radius:12px;align-items:center;gap:14px;padding:14px 18px;transition:all .2s;display:flex}.dataset-option:hover{background:#ffffff1a;border-color:#fff3}.dataset-option-icon{flex-shrink:0;font-size:24px}.dataset-option-text{flex-direction:column;gap:2px;display:flex}.dataset-option-title{color:#fff;font-size:14px;font-weight:600}.dataset-option-desc{color:#ffffff80;font-size:12px}.dataset-option-group input[type=radio]:checked+.dataset-option{background:#03bffe26;border-color:#03bffe66;box-shadow:0 0 0 1px #03bffe1a}.dataset-option-group input[type=radio]:checked+.dataset-option .dataset-option-title{color:#03bffe}.glass-file-input{margin:12px 0;position:relative}.ml-button-container{justify-content:center;margin-top:16px;display:flex}.model-type-wrapper select{min-width:220px}.test-proportion-wrapper{margin:8px 0}.test-proportion-input{text-align:right;width:70px;margin-right:4px;padding:6px 8px}.test-proportion-suffix{color:#fff9;font-size:16px;font-weight:600}.glass-file-input input[type=file]{opacity:0;pointer-events:none;width:0;height:0;position:absolute}.glass-file-label{cursor:pointer;color:#fff9;background:#ffffff14;border:1px dashed #ffffff40;border-radius:10px;align-items:center;gap:10px;padding:12px 20px;font-size:14px;transition:all .2s;display:inline-flex}.glass-file-label:hover{color:#fffc;background:#ffffff1f;border-color:#fff6}.glass-file-icon{font-size:18px}.dataset-badge-top{color:#03bffe;background:#03bffe26;border:1px solid #03bffe4d;border-radius:20px;align-items:center;gap:8px;margin-bottom:12px;padding:8px 16px;font-size:14px;font-weight:500;display:inline-flex}.dataset-badge-icon{font-size:16px}form input[type=text],form input[type=number]{-webkit-backdrop-filter:blur(8px);color:#e0e0e0;background:#ffffff14;border:1px solid #ffffff26;border-radius:10px;padding:8px 12px;font-size:14px;font-weight:500;transition:all .2s}form input[type=number]{appearance:textfield}form input[type=number]::-webkit-inner-spin-button{appearance:none;margin:0}form input[type=number]::-webkit-outer-spin-button{appearance:none;margin:0}form select{-webkit-backdrop-filter:blur(8px);color:#e0e0e0;cursor:pointer;appearance:none;background:#ffffff14 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%2303bffe' d='M6 8L0 0h12z'/%3E%3C/svg%3E") right 12px center no-repeat;border:1px solid #ffffff26;border-radius:10px;padding:8px 32px 8px 12px;font-size:14px;font-weight:500;transition:all .2s}form select:hover{background-color:#ffffff1f;border-color:#ffffff40}form select option{color:#e0e0e0;-webkit-backdrop-filter:blur(12px);background:#141423fa;padding:10px}form select option:checked{color:#03bffe;background:#03bffe33}form select option:disabled{color:#666;background:#1e1e32fa}form input[type=text]:focus,form input[type=number]:focus,form select:focus{border-color:#03bffe;outline:none;box-shadow:0 0 0 2px #03bffe33}form input[type=radio]{accent-color:#03bffe;margin-right:6px}form label{color:#d0d0d0}table[align=center]{border-collapse:collapse;width:100%;max-width:600px;margin:16px auto}table[align=center] td,table[align=center] th{border:1px solid #ffffff1a;padding:10px 12px;font-size:14px}h3{color:#fff;margin:12px 0;font-size:18px}.ml-page{max-width:1000px;margin:0 auto;padding:0 20px 60px}.instructions-card{-webkit-backdrop-filter:blur(16px);background:#ffffff0f;border:1px solid #ffffff1f;border-radius:16px;margin:24px 0;overflow:hidden}.info-section{border-bottom:1px solid #ffffff14;padding:20px 24px}.info-section:last-child{border-bottom:none}.info-section h4{color:#03bffe;align-items:center;gap:8px;margin:0 0 12px;font-size:16px;font-weight:600;display:flex}.info-section p{color:#c8c8c8;margin:0 0 12px;font-size:14px;line-height:1.7}.info-section p:last-child{margin-bottom:0}.info-section a{color:#03bffe;text-decoration:none;transition:color .2s}.info-section a:hover{color:#6dd5ff;text-decoration:underline}.ml-workflow{flex-direction:column;gap:32px;margin-top:32px;display:flex}.ml-section{-webkit-backdrop-filter:blur(12px);background:#ffffff14;border:1px solid #ffffff26;border-radius:16px;transition:box-shadow .3s,transform .3s;overflow:visible}.ml-section:hover{transform:translateY(-2px);box-shadow:0 8px 32px #0003}.ml-section-header{background:linear-gradient(135deg,#03bffe33 0%,#03bffe1a 100%);border-bottom:1px solid #ffffff1a;padding:16px 24px}.ml-section-header h2{color:#fff;align-items:center;gap:12px;margin:0;font-size:20px;font-weight:600;display:flex}.ml-section-content{padding:24px}.ml-results-panel{background:#ffffff0d;border:1px solid #ffffff1a;border-radius:12px;margin-top:24px;padding:20px}.ml-results-panel h3{color:#fff;text-align:center;margin:0 0 16px;font-size:18px;font-weight:600}.ghost-placeholder{text-align:center;color:#fff6;border:2px dashed #ffffff26;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;margin-top:16px;padding:40px 24px;display:flex}.ghost-icon{opacity:.7;margin-bottom:16px;font-size:56px;line-height:1;display:block}.ghost-title{color:#ffffff80;margin:0 0 8px;font-size:16px;font-weight:600}.ghost-description{color:#ffffff59;max-width:400px;margin:0;font-size:14px;line-height:1.5}.tooltip-wrapper{cursor:help;align-items:center;display:inline-flex;position:relative}.tooltip-icon{color:#03bffe;background:#03bffe33;border-radius:50%;justify-content:center;align-items:center;width:20px;height:20px;font-size:12px;font-weight:700;line-height:1;transition:background .2s;display:inline-flex}.tooltip-icon:hover{background:#03bffe66}.tooltip-text{text-transform:none;white-space:normal;pointer-events:none;opacity:0;visibility:hidden;z-index:10000;-webkit-backdrop-filter:blur(8px);border:1px solid #ffffff26;border-radius:8px;width:max-content;max-width:280px;padding:10px 14px;font-size:13px;font-weight:400;line-height:1.5;transition:opacity .2s,visibility .2s;position:absolute;top:calc(100% + 8px);left:50%;transform:translate(-50%);box-shadow:0 4px 20px #00000080;color:#f0f0f0!important;background:#141423fa!important}.tooltip-text:after{content:"";border:6px solid #0000;border-bottom-color:#1a1a2efa;position:absolute;bottom:100%;left:50%;transform:translate(-50%)}.tooltip-wrapper:hover .tooltip-text{opacity:1;visibility:visible}.dataset-badge{color:#03bffe;background:#03bffe26;border:1px solid #03bffe4d;border-radius:20px;align-items:center;gap:8px;margin-top:12px;padding:8px 16px;font-size:14px;font-weight:500;display:inline-flex}.ml-button,.ml-button-predict{color:#fff;text-align:center;cursor:pointer;font:inherit;background:linear-gradient(135deg,#fe4203,#ff6b35);border:none;border-radius:50px;outline:0;justify-content:center;align-items:center;padding:10px 28px;font-size:14px;font-weight:600;transition:all .3s;display:inline-flex;box-shadow:0 4px 15px #fe42034d}.ml-button:hover:not(:disabled),.ml-button-predict:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 25px #fe420373}.ml-button:active:not(:disabled),.ml-button-predict:active:not(:disabled){transform:translateY(0)}.ml-button:disabled,.ml-button-predict:disabled{color:#bbb;cursor:not-allowed;box-shadow:none;background:linear-gradient(135deg,#666,#888);transform:none}.ml-checklist{flex-direction:column;align-items:flex-start;gap:6px;width:fit-content;margin:0 auto 12px;display:flex}.ml-checklist-item{align-items:center;gap:8px;font-size:13px;display:flex}.ml-check-icon{border-radius:50%;justify-content:center;align-items:center;width:20px;height:20px;font-size:14px;font-weight:700;transition:all .2s;display:inline-flex}.ml-check-met{color:#4caf50;background:#4caf5033}.ml-check-unmet{color:#ffffff59;background:#ffffff14}.ml-check-text-met{color:#fffc}.ml-check-text-unmet{color:#fff6}.pill-selector{flex-wrap:wrap;gap:8px;margin:12px 0;display:flex}.pill-selector-label{color:#fff;margin-bottom:8px;font-size:15px;font-weight:600;display:block}.pill-selector input[type=checkbox],.pill-selector input[type=radio]{opacity:0;width:0;height:0;position:absolute}.pill-btn{cursor:pointer;color:#d0d0d0;-webkit-user-select:none;user-select:none;background:#ffffff14;border:1px solid #ffffff26;border-radius:20px;justify-content:center;align-items:center;padding:8px 16px;font-size:13px;font-weight:500;transition:all .2s;display:inline-flex}.pill-btn:hover:not(.pill-disabled){color:#fff;background:#ffffff1f;border-color:#ffffff40}.pill-selector input[type=checkbox]:checked+.pill-btn{color:#03bffe;background:#03bffe33;border-color:#03bffe80}.pill-selector input[type=checkbox]:checked+.pill-btn:hover{background:#03bffe4d;border-color:#03bffeb3}.pill-selector input[type=radio]:checked+.pill-btn{color:#ff845b;background:#ff845b33;border-color:#ff845b80}.pill-selector input[type=radio]:checked+.pill-btn:hover{background:#ff845b4d;border-color:#ff845bb3}.pill-disabled{opacity:.35;cursor:not-allowed;pointer-events:none}.ml-results-layout{justify-content:center;align-items:flex-start;gap:24px;display:flex}.ml-results-container{flex-direction:column;align-items:center;gap:16px;width:100%;max-width:476px;margin:0 auto;display:flex}.ml-results-image{width:100%}.ml-results-image img{border:1px solid #ffffff1a;border-radius:12px;width:100%;height:auto;display:block}.ml-results-metrics{width:100%}.metric-cards{flex-direction:column;width:100%;display:flex}.metric-card{background:#ffffff0f;border:1px solid #ffffff1a;border-radius:10px;width:100%;padding:16px}.metric-section{margin-bottom:16px}.metric-section:last-child{margin-bottom:0}.metric-card-header{color:#fff9;text-transform:uppercase;letter-spacing:.5px;text-align:center;margin-bottom:8px;font-size:12px;font-weight:600}.metric-divider{background:#ffffff1a;width:1px;margin:0 12px}.metric-card-row{width:100%;padding:4px 0;display:flex}.metric-card-label{color:#ffffff80;text-align:left;width:50%;font-size:12px}.metric-card-value{color:#03bffe;text-align:right;width:50%;font-family:Segoe UI,monospace;font-size:14px;font-weight:600}.metric-pair{gap:8px;display:flex}.metric-pair-value{color:#ffffffb3;font-size:11px}.prediction-section{margin-top:12px}.prediction-section h3{color:#fff;text-align:center;margin:0 0 12px;font-size:18px;font-weight:600}.prediction-table-wrapper{justify-content:center;margin-bottom:16px;display:flex;overflow:visible}.prediction-table{border-collapse:collapse;border:1px solid #ffffff1a;border-radius:12px;width:auto;min-width:280px;overflow:visible}.prediction-table td{vertical-align:middle;padding:10px 16px;font-size:14px}.prediction-feature-cell{color:#ffffffb3;white-space:nowrap;min-width:100px;font-weight:500}.prediction-table tbody tr:not(.prediction-result-row){background:#03bffe14}.prediction-table tbody tr:not(.prediction-result-row):nth-child(2n){background:#03bffe1f}.prediction-input-cell{min-width:160px}.prediction-input{color:#e0e0e0;background:#ffffff14;border:1px solid #ffffff26;border-radius:8px;width:100%;min-width:120px;padding:8px 12px;font-family:Segoe UI,monospace;font-size:14px;transition:all .2s}.prediction-input[type=number]{appearance:textfield}.prediction-input[type=number]::-webkit-inner-spin-button{appearance:none;margin:0}.prediction-input[type=number]::-webkit-outer-spin-button{appearance:none;margin:0}.prediction-input:focus{background:#ffffff1f;border-color:#03bffe;outline:none;box-shadow:0 0 0 2px #03bffe33}.prediction-input::placeholder{color:#ffffff4d}.prediction-result-row{border-top:2px solid #ff845b4d}.prediction-result-row td{background:#ff845b1a;padding:12px 16px}.prediction-result-cell{color:#ff845b;white-space:nowrap;font-family:Segoe UI,monospace;font-size:18px;font-weight:700}.prediction-value-wrapper{align-items:center;gap:4px;display:inline-flex}.prediction-actions{justify-content:center;padding:8px 0;display:flex}.model-type-wrapper,.test-proportion-wrapper{margin:8px 0}.test-proportion-input{text-align:right;width:70px}.test-proportion-suffix{color:#fff9;margin-left:4px}.ml-button-container{justify-content:center;display:flex}.dataset-option-group{flex-direction:row;gap:16px;margin:12px 0;display:flex}.dataset-option{align-items:center;gap:8px;display:flex}.dataset-option-label{cursor:pointer;color:#d0d0d0;align-items:center;gap:8px;display:flex}.dataset-icon{font-size:20px}.dataset-selected{color:#03bffe;margin-top:8px;font-size:14px;display:block}@media (width<=1000px){.ml-page{padding:0 12px 40px}.ml-section-header{padding:12px 16px}.ml-section-header h2{font-size:17px}.ml-section-content{padding:16px}.ghost-placeholder{padding:24px 16px}.ghost-icon{font-size:36px}.ml-results-layout{flex-direction:column;align-items:center}.metric-cards{grid-template-columns:1fr 1fr}.prediction-table{width:100%}.prediction-input-cell{min-width:120px}}@media (width<=768px){.ml-section-header{padding:12px 16px}.ml-section-header h2{font-size:17px}.ml-section-content{padding:16px}.ghost-placeholder{padding:24px 16px}.ghost-icon{font-size:36px}}@media (width<=600px){.metric-cards{grid-template-columns:1fr 1fr}.prediction-table{width:100%}.prediction-input-cell{min-width:120px}}.spawn-controls{flex-wrap:wrap;gap:1.5rem;display:flex}.spawn-control-group{flex-direction:column;flex:300px;gap:.75rem;min-width:300px;display:flex}.spawn-control-group.disabled{opacity:.5}.spawn-label{color:#8892b0;align-items:center;gap:.5rem;font-size:1rem;display:flex}.spawn-value{color:#64c8ff;font-weight:600}.spawn-slider{-webkit-appearance:none;background:#ffffff1a;border-radius:3px;outline:none;width:100%;height:6px}.spawn-slider:disabled{opacity:.5;cursor:not-allowed}.spawn-slider::-webkit-slider-thumb{appearance:none;cursor:pointer;background:#64c8ff;border:2px solid #fff3;border-radius:50%;width:18px;height:18px}.spawn-slider:disabled::-webkit-slider-thumb{cursor:not-allowed;background:#64c8ff88}.spawn-slider::-moz-range-thumb{cursor:pointer;background:#64c8ff;border:2px solid #fff3;border-radius:50%;width:18px;height:18px}.spawn-slider:disabled::-moz-range-thumb{cursor:not-allowed;background:#64c8ff88}.spawn-slider-labels{color:#5a6a8a;justify-content:space-between;font-size:.75rem;display:flex}.simulation-controls{gap:.5rem;display:flex}.control-btn{color:#e0e0e0;cursor:pointer;background:#ffffff0d;border:1px solid #ffffff26;border-radius:8px;justify-content:center;align-items:center;width:36px;height:36px;transition:all .2s;display:flex}.control-btn:hover:not(:disabled){color:#64c8ff;background:#64c8ff26;border-color:#64c8ff}.control-btn:disabled{opacity:.4;cursor:not-allowed}.control-btn.toggle-btn.playing{color:#0f8;background:#00ff8826;border-color:#0f8}.control-btn.toggle-btn.playing:hover:not(:disabled){background:#00ff8840;border-color:#0f8}.control-btn.reset-btn{color:#ff4757}.control-btn.reset-btn:hover:not(:disabled){color:#ff4757;background:#ff475733;border-color:#ff4757}.control-btn.reset:hover{background:#ff475740}.controls-info{align-items:center;display:flex}.status-indicator{font-size:.85rem;font-weight:500}.status-indicator.running{color:#2ed573}.status-indicator.stopped{color:#ff4757}.status-indicator.paused{color:orange}.canvas-container{background:#00000080;border:1px solid #ffffff1a;border-radius:8px;width:100%;overflow:hidden}.simulation-canvas{aspect-ratio:2;background:#00000080;border-radius:12px;width:100%;display:block}.canvas-controls{background:#0000004d;border-bottom:1px solid #ffffff1a;flex-wrap:wrap;align-items:center;gap:12px;padding:12px 16px;display:flex}.canvas-controls-label{color:#ffffffb3;text-transform:uppercase;letter-spacing:.5px;font-size:13px;font-weight:600}.canvas-control-select{color:#fff;cursor:pointer;background:#ffffff1a;border:1px solid #fff3;border-radius:6px;outline:none;padding:6px 12px;font-size:13px;transition:all .2s}.canvas-control-select:hover:not(:disabled){background:#ffffff26;border-color:#ffffff4d}.canvas-control-select:disabled{opacity:.5;cursor:not-allowed}.canvas-control-label{color:#ffffffb3;align-items:center;gap:8px;font-size:13px;display:flex}.canvas-control-slider{accent-color:#64c8ffcc;width:100px}.canvas-control-btn{color:#fff;cursor:pointer;background:#ffffff1a;border:1px solid #fff3;border-radius:6px;padding:6px 14px;font-size:13px;transition:all .2s}.canvas-control-btn:hover:not(:disabled){background:#fff3;border-color:#ffffff4d}.canvas-control-btn:disabled{opacity:.5;cursor:not-allowed}.canvas-control-btn.btn-clear:hover:not(:disabled){background:#ff646433;border-color:#ff646466}.canvas-control-btn.btn-submit{background:#64c8ff33;border-color:#64c8ff66}.canvas-control-btn.btn-submit:hover:not(:disabled){background:#64c8ff4d;border-color:#64c8ff99}.physics-simulation-page{color:#e0e0e0;min-height:100vh;padding:0 20px 60px}.error-message{background:#ff475726;border:1px solid #ff47574d;border-radius:8px;justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding:1rem 1.5rem;display:flex}.error-message span{color:#ff4757}.simulation-info-card p:last-child{margin-bottom:0}.simulation-info-card strong{color:#e0e8f0}.error-message button{color:#ff4757;cursor:pointer;background:0 0;border:none;padding:0 .5rem;font-size:1.5rem}.simulation-card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff08;border:1px solid #ffffff14;border-radius:16px;max-width:1200px;margin:0 auto;overflow:hidden}.simulation-card-controls{padding:1.5rem 2rem}.controls-section{flex-direction:column;gap:.5rem;display:flex}.controls-section h3{color:#8892b0;text-transform:uppercase;letter-spacing:.5px;margin:0 0 .5rem;font-size:1rem;font-weight:600}.canvas-toolbar{-webkit-backdrop-filter:blur(12px)saturate(180%);background:#ffffff08;border:1px solid #ffffff14;border-radius:12px;align-items:center;gap:.5rem;margin:1rem 2rem 0;padding:.75rem 2rem;display:flex;box-shadow:0 4px 16px #0003}.toolbar-label{color:#8892b0;text-transform:uppercase;letter-spacing:.5px;margin-right:.25rem;font-size:.8rem}.toolbar-btn{color:#e0e0e0;cursor:pointer;background:#ffffff0d;border:1px solid #ffffff26;border-radius:6px;justify-content:center;align-items:center;width:36px;height:36px;transition:all .2s;display:flex}.toolbar-btn:hover:not(:disabled){color:#64c8ff;background:#64c8ff26;border-color:#64c8ff}.toolbar-btn:disabled{opacity:.4;cursor:not-allowed}.toolbar-btn-clear{color:#ff4757}.toolbar-btn-clear:hover:not(:disabled){color:#ff4757;background:#ff475733;border-color:#ff4757}.pencil-btn.active,.paintbrush-btn.active{color:#64c8ff;background:#64c8ff33;border-color:#64c8ff}.ball-btn{color:#e0e0e0}.ball-btn:hover:not(:disabled){color:#6496ff;background:#6496ff26;border-color:#6496ff}.ball-btn.toolbar-btn-clear{color:#ff4757}.ball-btn.toolbar-btn-clear:hover:not(:disabled),.toolbar-btn-clear:hover:not(:disabled){color:#ff4757;background:#ff475733;border-color:#ff4757}.toolbar-divider{background:#ffffff1a;width:1px;height:24px;margin:0 .25rem}.brush-label-inline{color:#8892b0;align-items:center;gap:.5rem;font-size:.8rem;display:flex}.toolbar-brush-slider{-webkit-appearance:none;background:#ffffff1a;border-radius:2px;outline:none;width:80px;height:4px}.toolbar-brush-slider::-webkit-slider-thumb{appearance:none;cursor:pointer;background:#64c8ff;border-radius:50%;width:14px;height:14px}.toolbar-brush-slider::-moz-range-thumb{cursor:pointer;background:#64c8ff;border:none;border-radius:50%;width:14px;height:14px}.brush-value{color:#64c8ff;min-width:35px;font-size:.75rem}.simulation-card-canvas{margin-top:1rem;padding:0 2rem 2rem;position:relative}.canvas-with-controls{position:relative}.canvas-with-controls.drawing-mode .simulation-canvas{cursor:crosshair}.canvas-with-controls.paint-mode .simulation-canvas{cursor:cell}.canvas-with-controls .simulation-stats{color:#8892b0;z-index:10;font-size:.9rem;position:absolute;top:.75rem;left:1rem}.canvas-with-controls .simulation-stats span{background:#64c8ff1a;border:1px solid #64c8ff33;border-radius:8px;align-items:center;padding:.65rem .8rem;display:inline-flex}.canvas-with-controls .simulation-controls{z-index:10;position:absolute;top:.75rem;right:1rem}@media (width<=768px){.simulation-card-header{text-align:center;flex-direction:column;gap:1rem}.header-left{flex-direction:column}.simulation-card-controls{grid-template-columns:1fr}}
