/*! tailwindcss v4.1.8 | MIT License | https://tailwindcss.com */@layer properties{@supports ((-webkit-hyphens:none) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,::backdrop,:after,:before{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-duration:initial;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000}}}.pointer-events-auto{pointer-events:auto}.pointer-events-none{pointer-events:none}.visible{visibility:visible}.absolute{position:absolute}.relative{position:relative}.static{position:static}.z-10{z-index:10}.z-50{z-index:50}.container{width:100%}.mx-auto{margin-inline:auto}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.h-\[400px\]{height:400px}.h-\[480px\]{height:480px}.h-full{height:100%}.h-screen{height:100vh}.min-h-screen{min-height:100vh}.w-full{width:100%}.max-w-none{max-width:none}.min-w-\[260px\]{min-width:260px}.flex-1{flex:1}.flex-shrink-0{flex-shrink:0}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.cursor-pointer{cursor:pointer}.resize{resize:both}.list-disc{list-style-type:disc}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.rounded-full{border-radius:3.40282e+38px}.border{border-style:var(--tw-border-style);border-width:1px}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-t-2{border-top-style:var(--tw-border-style);border-top-width:2px}.border-t-4{border-top-style:var(--tw-border-style);border-top-width:4px}.border-t-8{border-top-style:var(--tw-border-style);border-top-width:8px}.border-r-4{border-right-style:var(--tw-border-style);border-right-width:4px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-b-2{border-bottom-style:var(--tw-border-style);border-bottom-width:2px}.border-b-4{border-bottom-style:var(--tw-border-style);border-bottom-width:4px}.border-l-4{border-left-style:var(--tw-border-style);border-left-width:4px}.border-transparent{border-color:#0000}.bg-gradient-to-br{--tw-gradient-position:to bottom right in oklab}.bg-gradient-to-br,.bg-gradient-to-r{background-image:linear-gradient(var(--tw-gradient-stops))}.bg-gradient-to-r{--tw-gradient-position:to right in oklab}.bg-gradient-to-tr{--tw-gradient-position:to top right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.bg-clip-text{-webkit-background-clip:text;background-clip:text}.object-contain{-o-object-fit:contain;object-fit:contain}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.whitespace-nowrap{white-space:nowrap}.text-transparent{color:#0000}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.opacity-20{opacity:.2}.opacity-50{opacity:.5}.filter{filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,visibility,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,ease);transition-duration:var(--tw-duration,0s)}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,ease);transition-duration:var(--tw-duration,0s)}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,ease);transition-duration:var(--tw-duration,0s)}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,ease);transition-duration:var(--tw-duration,0s)}.duration-300{--tw-duration:.3s;transition-duration:.3s}@media (hover:hover){.hover\:scale-105:hover{--tw-scale-x:105%;--tw-scale-y:105%;--tw-scale-z:105%;scale:var(--tw-scale-x)var(--tw-scale-y)}.hover\:rotate-12:hover{rotate:12deg}}.focus\:border-transparent:focus{border-color:#0000}.focus\:ring-2:focus{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}:root{--background:#fff;--foreground:#171717;--font-inter:"Inter",sans-serif;--font-jetbrains:"JetBrains Mono",monospace}@media (prefers-color-scheme:dark){:root{--background:#0a0a0a;--foreground:#ededed}}body{background:var(--background);color:var(--foreground);font-family:Arial,Helvetica,sans-serif}*{box-sizing:border-box;margin:0;padding:0}body{color:#333;background:linear-gradient(135deg,#e3f2fd,#bbdefb);min-height:100vh;font-family:Comic Neue,Arial,sans-serif}.header{color:#fff;background:linear-gradient(#4caf50cc,#2196f3cc),url(/header_background-image.jpg) 50%/cover no-repeat;height:320px;min-height:240px;padding:48px 0 32px;position:relative;overflow:hidden}.header:before{opacity:.1;z-index:1;background:linear-gradient(45deg,#4caf50,#2196f3,#ff9800,#e91e63);animation:rainbow 5s ease-in-out infinite alternate}.header:after,.header:before{content:"";pointer-events:none;position:absolute;inset:0}.header:after{opacity:.25;z-index:0;background:url(/header_background-image.jpg) 50%/cover no-repeat}.header-content{z-index:2;position:relative;justify-content:flex-start!important;width:100%!important;max-width:none!important;margin-left:0!important;margin-right:0!important;padding-left:2rem!important}.logo-section{gap:15px}.logo,.logo-section{align-items:center;display:flex}.logo{color:#4caf50;background:#fff;border-radius:12px;justify-content:center;width:246px;height:60px;padding:0;font-size:24px;font-weight:700;animation:bounce 2s ease-in-out infinite;box-shadow:0 4px 15px #0003}@keyframes bounce{0%,20%,50%,80%,to{transform:translateY(0)}40%{transform:translateY(-10px)}60%{transform:translateY(-5px)}}.app-title{text-shadow:2px 2px 4px #0000004d;-webkit-text-fill-color:transparent;background:linear-gradient(45deg,gold,orange);-webkit-background-clip:text;background-clip:text;font-size:2.5rem;font-weight:700}.subtitle{text-shadow:1px 1px 2px #0000004d;margin-top:5px;font-size:1.5rem;font-weight:700}.nav-container{background:#fff;padding:15px 0;box-shadow:0 2px 10px #0000001a}.nav-content{justify-content:center;gap:30px;max-width:1200px;margin:0 auto;padding:0 20px;display:flex}.nav-btn{color:#fff;cursor:pointer;background:linear-gradient(45deg,#4caf50,#45a049);border:none;border-radius:25px;padding:15px 30px;font-size:1.1rem;font-weight:700;transition:all .3s;box-shadow:0 4px 15px #4caf504d}.nav-btn:hover{transform:translateY(-3px);box-shadow:0 6px 20px #4caf5066}.nav-btn.secondary{background:linear-gradient(45deg,#2196f3,#1976d2);box-shadow:0 4px 15px #2196f34d}.nav-btn.secondary:hover{box-shadow:0 6px 20px #2196f366}.main-container{max-width:1200px;margin:40px auto;padding:0 20px}.welcome-section{text-align:center;background:#fff;border-radius:20px;margin-bottom:30px;padding:40px;position:relative;overflow:hidden;box-shadow:0 8px 25px #0000001a}.welcome-section:before{content:"";background:radial-gradient(circle,#ffc1071a 0,#0000 70%);width:200%;height:200%;animation:rotate 20s linear infinite;position:absolute;top:-50%;left:-50%}@keyframes rotate{0%{transform:rotate(0)}to{transform:rotate(1turn)}}.welcome-title{color:#4caf50;z-index:1;margin-bottom:20px;font-size:2.2rem;position:relative}.welcome-text{color:#666;z-index:1;margin-bottom:30px;font-size:1.3rem;line-height:1.6;position:relative}.level-cards{grid-template-rows:auto auto;grid-template-columns:1fr 1fr;gap:30px;margin-top:40px;display:grid}.level-card{background:#fff;border-radius:20px;flex-direction:column;justify-content:flex-end;padding:30px;transition:all .3s;display:flex;position:relative;overflow:hidden;box-shadow:0 8px 25px #0000001a}.level-card:hover{transform:translateY(-10px);box-shadow:0 15px 40px #0003}.student-card{border-top:5px solid #e91e63;flex-direction:column;grid-area:1/2;justify-content:flex-end;display:flex}.student-form{flex:1 0 auto}.student-card .start-btn.student-btn{margin-top:auto}.level-card.level-1{border-top:5px solid #4caf50;grid-area:1/1}.level-card.level-2{border-top:5px solid #ff9800;grid-area:2/1}.level-card.level-3{border-top:5px solid #9c27b0;grid-area:2/2}.level-icon{color:#fff;border-radius:50%;justify-content:center;align-items:center;width:80px;height:80px;margin:0 auto 20px;font-size:2rem;display:flex}.student-card .level-icon{background:linear-gradient(45deg,#e91e63,#c2185b)}.level-1 .level-icon{background:linear-gradient(45deg,#4caf50,#45a049)}.level-2 .level-icon{background:linear-gradient(45deg,#ff9800,#f57c00)}.level-3 .level-icon{background:linear-gradient(45deg,#9c27b0,#7b1fa2)}.level-icon.student{background:linear-gradient(45deg,#2196f3,#21cbf3)}.level-icon.teacher{background:linear-gradient(45deg,#8e24aa,#ce93d8)}.teacher-card{border-top:5px solid #8e24aa;flex-direction:column;justify-content:flex-end;display:flex}.teacher-form{flex:1 0 auto;margin-bottom:25px}.level-title{text-align:center;margin-bottom:15px;font-size:1.5rem;font-weight:700}.level-description{color:#666;text-align:center;margin-bottom:20px;line-height:1.6}.level-features{margin-bottom:25px;list-style:none}.level-features li{color:#555;padding:8px 0 8px 25px;position:relative}.level-features li:before{content:"✨";position:absolute;top:8px;left:0}.student-form{margin-bottom:25px}.student-input{text-align:center;border:2px solid #e0e0e0;border-radius:15px;width:100%;margin-bottom:15px;padding:15px;font-family:inherit;font-size:1.1rem;transition:all .3s}.student-input:focus{border-color:#e91e63;outline:none;box-shadow:0 0 0 3px #e91e631a}.student-status{text-align:center;border-radius:10px;margin-bottom:15px;padding:10px;font-weight:700}.student-status.connected{color:#4caf50;background:#4caf501a;border:1px solid #4caf504d}.student-status.disconnected{color:#666;background:#9e9e9e1a;border:1px solid #9e9e9e4d}.student-status--pending{color:#ff9800;background:#ffc1071a;border:1px solid #ffc1074d}.start-btn{color:#fff;cursor:pointer;background:linear-gradient(45deg,#4caf50,#45a049);border:none;border-radius:15px;width:100%;padding:15px;font-size:1.1rem;font-weight:700;transition:all .3s}.start-btn:hover{transform:translateY(-2px);box-shadow:0 5px 15px #4caf5066}.start-btn:disabled{cursor:not-allowed;box-shadow:none;background:#ccc;transform:none}.student-btn{background:linear-gradient(45deg,#e91e63,#c2185b)}.student-btn:hover:not(:disabled){box-shadow:0 5px 15px #e91e6366}.level-2 .start-btn{background:linear-gradient(45deg,#ff9800,#f57c00)}.level-2 .start-btn:hover:not(:disabled){box-shadow:0 5px 15px #ff980066}.level-3 .start-btn{background:linear-gradient(45deg,#9c27b0,#7b1fa2)}.level-3 .start-btn:hover:not(:disabled){box-shadow:0 5px 15px #9c27b066}.partners-section{background:#fff;border-radius:20px 20px 0 0;margin-top:50px;padding:40px 0}.partners-title{text-align:center;color:#4caf50;margin-bottom:30px;font-size:1.8rem;font-weight:700}.partners-carousel{max-width:1000px;margin:0 auto;display:flex;position:relative;overflow:hidden}.partners-track{align-items:center;gap:50px;animation:scroll 30s linear infinite;display:flex}@keyframes scroll{0%{transform:translate(0)}to{transform:translate(-50%)}}.partner-item{text-align:center;flex-direction:column;min-width:150px}.partner-item,.partner-logo{align-items:center;display:flex}.partner-logo{color:#4caf50;background:#f5f5f5;border:2px solid #e0e0e0;border-radius:50%;justify-content:center;width:80px;height:80px;margin-bottom:10px;font-size:1.5rem}.partner-name{color:#666;font-size:.9rem;font-weight:700}.footer{color:#fff;text-align:center;background:linear-gradient(45deg,#2c3e50,#34495e);margin-top:0;padding:30px 0}.footer-content{max-width:1200px;margin:0 auto;padding:0 20px}.footer-text{opacity:.9;margin-bottom:15px}.footer-links{justify-content:center;gap:30px;margin-bottom:20px;display:flex}.footer-links a{color:#ecf0f1;text-decoration:none;transition:color .3s}.footer-links a:hover{color:#4caf50}@media (max-width:768px){.header-content{text-align:center;flex-direction:column;gap:20px}.app-title{font-size:2rem}.nav-content{flex-direction:column;align-items:center;gap:15px}.level-cards{grid-template-rows:auto;grid-template-columns:1fr}.level-card.level-1,.level-card.level-2,.level-card.level-3,.student-card{grid-area:auto/1}.footer-links{flex-direction:column;gap:15px}}.fade-in{animation:fadeIn 1s ease-in}@keyframes fadeIn{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.sound-wave{opacity:.3;width:30px;height:30px;position:absolute;top:20px;right:20px}.sound-wave:after,.sound-wave:before{content:"";border:2px solid gold;border-radius:50%;animation:pulse 2s ease-in-out infinite;position:absolute}.sound-wave:before{width:20px;height:20px;top:5px;left:5px}.sound-wave:after{width:30px;height:30px;animation-delay:.5s}@keyframes pulse{0%{opacity:1;transform:scale(.8)}to{opacity:0;transform:scale(1.5)}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}