.no-scrollbar{-ms-overflow-style:none;scrollbar-width:none}.no-scrollbar::-webkit-scrollbar{display:none}.snap-y{scroll-snap-type:y mandatory;-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain}.snap-start{scroll-snap-align:start;scroll-snap-stop:always}.snap-always{scroll-snap-stop:always}.content-transition{transition:opacity .3s ease-in-out,transform .3s ease-in-out}@keyframes fadeIn{0%{opacity:0;transform:scale(.98)}to{opacity:1;transform:scale(1)}}.animate-fade-in{animation:fadeIn .4s ease-out forwards}.progress-dot{transition:all .3s cubic-bezier(.4,0,.2,1)}.progress-dot-active{transform:scaleY(1.2)}.no-select{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-touch-callout:none}body{overscroll-behavior-y:none;overflow:hidden}#root{width:100%;height:100vh;overflow:hidden;position:fixed;top:0;left:0;right:0;bottom:0}video{object-fit:contain;width:100%;height:100%}video::-webkit-media-controls{display:none!important}.video::-webkit-media-controls-enclosure{display:none!important}.snap-item{position:relative;isolation:isolate}:root{--vh: 1vh}@media(max-width:768px){body{overscroll-behavior-y:none;-webkit-overflow-scrolling:touch}*{-webkit-tap-highlight-color:transparent}.snap-y{-webkit-overflow-scrolling:touch;scroll-snap-type:y mandatory;scroll-behavior:smooth}}html{-webkit-text-size-adjust:100%;text-size-adjust:100%}*{scroll-behavior:smooth}.pb-safe{padding-bottom:calc(4rem + env(safe-area-inset-bottom,0px))}*,*:before,*:after{box-sizing:border-box}img,picture,video,canvas,svg{max-width:100%;height:auto}.image-uploader{margin-bottom:24px}.image-uploader-label{font-size:14px;font-weight:600;color:#fff;margin-bottom:12px}.image-uploader-preview{position:relative;border:2px dashed rgba(255,255,255,.2);border-radius:12px;overflow:hidden;cursor:pointer;transition:all .3s ease;background:#ffffff0d}.image-uploader-preview:hover{border-color:#fff6;background:#ffffff14}.image-uploader-profile .image-uploader-preview{width:200px;height:200px;border-radius:50%}.image-uploader-banner .image-uploader-preview{width:100%;height:200px;border-radius:12px}.preview-profile,.preview-banner{width:100%;height:100%;object-fit:cover}.image-uploader-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:#fff9;gap:12px}.image-uploader-placeholder svg{opacity:.6}.image-uploader-placeholder span{font-size:14px}.image-uploader-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;align-items:center;justify-content:center}.progress-circle{position:relative;width:60px;height:60px}.progress-circle svg{transform:rotate(-90deg)}.progress-text{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:#fff;font-size:14px;font-weight:600}.image-uploader-error{margin-top:8px;padding:8px 12px;background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:8px;color:#ef4444;font-size:13px}.image-uploader-hint{margin-top:8px;font-size:12px;color:#ffffff80}.registration-form-overlay{position:fixed;top:0;left:0;right:0;bottom:0;width:100vw;width:100dvw;height:100vh;height:100dvh;background:#000000e6;z-index:999999;overflow-y:scroll;overflow-x:hidden;-webkit-overflow-scrolling:touch;display:flex;flex-direction:column}.registration-form-container{background:linear-gradient(135deg,#1e1b4b,#312e81);width:100%;flex:1;display:flex;flex-direction:column}.registration-form-header{padding:max(48px,env(safe-area-inset-top,48px)) 24px 24px;border-bottom:1px solid rgba(255,255,255,.1);text-align:center;background:#0003;flex-shrink:0}.registration-form-header h2{font-size:32px;font-weight:800;color:#fff;margin:0 0 12px;background:linear-gradient(135deg,#fff,#a78bfa);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.registration-form-header p{font-size:16px;color:#ffffffb3;margin:0;line-height:1.6}.registration-form{padding:32px 24px calc(120px + env(safe-area-inset-bottom,0px));flex:1}.form-group{margin-bottom:24px}.form-row{display:grid;grid-template-columns:1fr;gap:24px;margin-bottom:24px}.form-group label{display:block;font-size:15px;font-weight:600;color:#fff;margin-bottom:10px}.form-group input,.form-group select,.form-group textarea{width:100%;padding:16px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:12px;color:#fff;font-size:16px;font-family:inherit;transition:all .2s ease;-webkit-appearance:none;-moz-appearance:none;appearance:none;box-sizing:border-box}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:#10b981;background:#10b9811a;box-shadow:0 0 0 3px #10b9811a}.form-group input.error,.form-group select.error,.form-group textarea.error{border-color:#ef4444}.form-group input.disabled-input{background:#ffffff05;color:#ffffff80;cursor:not-allowed}.form-group small{display:block;margin-top:8px;font-size:13px;color:#ffffff80;line-height:1.4}.error-message{display:block;margin-top:8px;font-size:14px;color:#fca5a5;font-weight:500}.form-group textarea{resize:vertical;min-height:120px;line-height:1.5}.form-group select{cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath fill='%23fff' d='M8 11L3 6h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center;padding-right:48px}.form-group select option{background:#1e1b4b;color:#fff;padding:16px}.form-actions{display:flex;flex-direction:column;gap:12px;margin-top:32px;padding-top:24px;border-top:1px solid rgba(255,255,255,.1)}.btn-cancel,.btn-submit{width:100%;padding:16px 24px;border:none;border-radius:12px;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s ease;touch-action:manipulation}.btn-cancel{background:#ffffff0d;color:#fff;border:1px solid rgba(255,255,255,.1)}.btn-cancel:active{transform:scale(.98)}.btn-submit{background:linear-gradient(135deg,#10b981,#059669);color:#fff;box-shadow:0 4px 16px #10b9814d}.btn-submit:active{transform:scale(.98)}@media(min-width:769px){.registration-form-overlay{align-items:center;justify-content:center;padding:20px}.registration-form-container{max-width:600px;flex:none;max-height:90vh;max-height:90dvh;border-radius:20px;box-shadow:0 20px 60px #00000080;overflow-y:auto}.registration-form-header{padding:40px 40px 32px}.registration-form{padding:32px 40px 40px}.form-row{grid-template-columns:1fr 1fr}.form-actions{flex-direction:row}.btn-cancel,.btn-submit{flex:1}.btn-cancel:hover{background:#ffffff1a}.btn-submit:hover{transform:translateY(-2px);box-shadow:0 8px 24px #10b98166}}@media(min-width:481px)and (max-width:768px){.registration-form-overlay{align-items:center;justify-content:center;padding:20px}.registration-form-container{max-width:500px;flex:none;border-radius:16px;overflow-y:auto;max-height:90vh;max-height:90dvh}.registration-form-header{padding:32px 32px 24px}.registration-form{padding:28px 32px 36px}}@media(max-width:375px){.registration-form-header h2{font-size:28px}.registration-form-header p{font-size:15px}.form-group label{font-size:14px}.form-group input,.form-group select,.form-group textarea{padding:14px;font-size:15px}}.role-selection-view{min-height:100vh;background:linear-gradient(135deg,#0f172a,#1e293b,#334155);display:flex;align-items:center;justify-content:center;padding:24px;position:relative;overflow:hidden}.role-selection-view:before{content:"";position:absolute;width:500px;height:500px;background:radial-gradient(circle,rgba(16,185,129,.15) 0%,transparent 70%);border-radius:50%;top:-250px;right:-250px;animation:pulse 8s ease-in-out infinite}.role-selection-view:after{content:"";position:absolute;width:400px;height:400px;background:radial-gradient(circle,rgba(59,130,246,.15) 0%,transparent 70%);border-radius:50%;bottom:-200px;left:-200px;animation:pulse 10s ease-in-out infinite reverse}@keyframes pulse{0%,to{transform:scale(1);opacity:.5}50%{transform:scale(1.1);opacity:.8}}.role-selection-container{max-width:900px;width:100%;position:relative;z-index:1}.role-selection-header{text-align:center;margin-bottom:48px}.logo-container{display:flex;justify-content:center;margin-bottom:24px}.logo-circle{width:80px;height:80px;background:linear-gradient(135deg,#10b981,#059669);border-radius:24px;display:flex;align-items:center;justify-content:center;box-shadow:0 8px 32px #10b9814d;animation:float 3s ease-in-out infinite}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.logo-emoji{font-size:40px}.main-title{font-size:48px;font-weight:800;color:#fff;margin:0 0 12px;letter-spacing:-.02em;background:linear-gradient(135deg,#fff,#10b981);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.subtitle{font-size:18px;color:#fff9;margin:0;font-weight:400}.role-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;margin-bottom:32px}.role-card{background:#ffffff08;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.08);border-radius:20px;padding:32px 24px;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);text-align:center;position:relative;overflow:hidden}.role-card:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,#10b9811a,#0596691a);opacity:0;transition:opacity .3s ease}.role-card:hover:before{opacity:1}.role-card:hover{transform:translateY(-4px);border-color:#10b9814d;box-shadow:0 12px 40px #10b98133}.role-card:active{transform:translateY(-2px)}.role-card:disabled{opacity:.5;cursor:not-allowed;transform:none}.role-card.loading{pointer-events:none}.card-icon-wrapper{display:flex;justify-content:center;margin-bottom:20px}.card-icon{width:64px;height:64px;border-radius:16px;display:flex;align-items:center;justify-content:center;position:relative;z-index:1;transition:transform .3s ease}.role-card:hover .card-icon{transform:scale(1.1)}.user-icon{background:linear-gradient(135deg,#3b82f6,#2563eb);box-shadow:0 4px 16px #3b82f64d;color:#fff}.institution-icon{background:linear-gradient(135deg,#10b981,#059669);box-shadow:0 4px 16px #10b9814d;color:#fff}.card-title{font-size:24px;font-weight:700;color:#fff;margin:0 0 8px;position:relative;z-index:1}.card-description{font-size:14px;color:#fff9;margin:0 0 24px;line-height:1.5;position:relative;z-index:1}.google-button{display:flex;align-items:center;justify-content:center;gap:10px;background:#fff;color:#1f2937;padding:12px 20px;border-radius:12px;font-size:14px;font-weight:600;transition:all .2s ease;position:relative;z-index:1;box-shadow:0 2px 8px #0000001a}.google-icon{flex-shrink:0}.role-card:hover .google-button{transform:scale(1.02);box-shadow:0 4px 12px #00000026}.error-message{background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:12px;padding:14px 18px;display:flex;align-items:center;gap:10px;margin-bottom:24px;color:#fca5a5;font-size:14px;animation:slideIn .3s ease}@keyframes slideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.role-footer{text-align:center;padding-top:24px;border-top:1px solid rgba(255,255,255,.08)}.role-footer p{font-size:12px;color:#fff6;margin:0}.role-footer a{color:#10b981;text-decoration:none;transition:color .2s ease;font-weight:500}.role-footer a:hover{color:#34d399}@media(max-width:768px){.role-selection-view{padding:20px}.role-selection-header{margin-bottom:32px}.logo-circle{width:64px;height:64px;border-radius:18px}.logo-emoji{font-size:32px}.main-title{font-size:36px}.subtitle{font-size:16px}.role-cards{grid-template-columns:1fr;gap:16px}.role-card{padding:28px 20px}.card-icon{width:56px;height:56px}.card-title{font-size:20px}.card-description{font-size:13px}.google-button{padding:11px 18px;font-size:13px}}@media(max-width:375px){.main-title{font-size:32px}.role-card{padding:24px 16px}}.main-layout{flex-grow:1;overflow-y:auto;overflow-x:hidden;position:relative;height:100%;min-height:100vh;padding-bottom:calc(3.5rem + env(safe-area-inset-bottom));margin-bottom:env(safe-area-inset-bottom,0px);-webkit-overflow-scrolling:touch;scroll-behavior:smooth;background-color:#111827}@media(max-width:375px){.main-layout{padding-bottom:calc(3.75rem + env(safe-area-inset-bottom))}}@media(min-width:376px)and (max-width:767px){.main-layout{padding-bottom:calc(3.625rem + env(safe-area-inset-bottom))}}@media(min-width:768px){.main-layout{padding-bottom:calc(3.5rem + env(safe-area-inset-bottom));min-height:100vh}}@supports (-webkit-touch-callout: none){.main-layout{padding-bottom:calc(3.75rem + env(safe-area-inset-bottom))}}@media(orientation:landscape)and (max-height:500px){.main-layout{padding-bottom:calc(3.5rem + env(safe-area-inset-bottom))}}:root{--theme-t: 0;--hue-base: 0;--sat-base: 0%;--lum-bg-base: calc(95% - (90% * var(--theme-t)));--theme-bg: hsl(var(--hue-base), var(--sat-base), var(--lum-bg-base));--diff: calc((var(--lum-bg-base) - 70%) * -1000);--lum-ink: clamp(10%, var(--diff), 90%);--theme-text: hsl(var(--hue-base), calc(var(--sat-base) * .2), var(--lum-ink));--theme-text-secondary: hsl(var(--hue-base), calc(var(--sat-base) * .1), calc(var(--lum-ink) * .7 + 30% * (1 - var(--theme-t))));--theme-border: hsl(var(--hue-base), calc(var(--sat-base) * .3), calc(var(--lum-ink) < 50% ? 85% : 25%));--hue-brand: 260;--sat-brand: 90%;--lum-brand: calc(60% - (10% * var(--theme-t)));--theme-accent: hsl(var(--hue-brand), var(--sat-brand), var(--lum-brand));--theme-accent-hover: hsl(var(--hue-brand), var(--sat-brand), calc(var(--lum-brand) + 10%));--contrast-threshold: 55%;--diff-accent: calc((var(--lum-brand) - var(--contrast-threshold)) * -1000);--theme-on-accent: hsl(var(--hue-brand), 10%, clamp(10%, var(--diff-accent), 98%));--theme-status-success: hsl(150, 70%, 45%);--theme-status-error: hsl(0, 80%, 60%);--icon-base: var(--theme-text);--icon-detail: var(--theme-accent);--lum-surface-2: calc(88% - (70% * var(--theme-t)));--theme-surface-2: hsl(var(--hue-base), calc(var(--sat-base) * .7), var(--lum-surface-2));--lum-surface-3: calc(82% - (57% * var(--theme-t)));--theme-surface-3: hsl(var(--hue-base), calc(var(--sat-base) * .5), var(--lum-surface-3));--theme-card-bg: var(--theme-surface-2);--theme-bubble-incoming: var(--theme-surface-2);--theme-hover-bg: hsla(var(--hue-base), var(--sat-base), var(--lum-ink), .08);--theme-active-bg: hsla(var(--hue-base), var(--sat-base), var(--lum-ink), .15);--theme-icon-bg: hsla(var(--hue-base), var(--sat-base), var(--lum-ink), .08);--theme-icon-bg-hover: hsla(var(--hue-base), var(--sat-base), var(--lum-ink), .15)}body,#root,html{background-color:var(--theme-bg)!important;color:var(--theme-text)!important}.bg-gray-900,.bg-gray-800,.bg-gray-700,.bg-gray-600,.bg-gray-500,.bg-black,[class*=bg-gray-],div[class*=bg-gray-],section[class*=bg-gray-],nav[class*=bg-gray-],header[class*=bg-gray-],footer[class*=bg-gray-]{background-color:var(--theme-bg)!important}.bg-gray-900\/95,.bg-gray-900\/90,.bg-gray-900\/80,.bg-gray-800\/95,.bg-gray-800\/90,.bg-gray-800\/80,.bg-gray-800\/50,.bg-gray-700\/50,[class*=bg-gray-][class*="/"]{background-color:var(--theme-card-bg)!important;-webkit-backdrop-filter:blur(12px)!important;backdrop-filter:blur(12px)!important}.modal,.overlay,[role=dialog],[role=alertdialog],.fixed.inset-0,.fixed.z-50,div[class*=fixed][class*=z-],.fixed.inset-0.bg-black,.fixed.inset-0.bg-gray-900{background-color:var(--theme-bg)!important}header,.header,.top-bar,nav.fixed.top-0,div[class*=fixed][class*=top-0],.sticky.top-0{background-color:var(--theme-bg)!important;border-bottom-color:var(--theme-border)!important}h1,h2,h3,h4,h5,h6,p,span,div,a,button{color:var(--theme-text)!important}.text-gray-400,.text-gray-300,.text-gray-500,.text-gray-200,.text-gray-600,[class*=text-gray-]{color:var(--theme-text-secondary)!important}svg{color:var(--theme-text)!important}svg path,svg circle,svg rect,svg line,svg polygon{stroke:currentColor!important}.text-gray-400 svg,.text-gray-300 svg,.text-gray-500 svg,.theme-icon svg,.theme-icon{color:var(--theme-text-secondary)!important}.nav-icon-override,.nav-icon-override svg,.nav-icon-override svg path,.nav-icon-override svg circle,.nav-icon-override svg rect,.nav-icon-override svg line,.nav-icon-override svg polyline,.nav-icon-override svg polygon{color:inherit!important;stroke:currentColor!important}button[aria-label*=crear],button[aria-label*=like],button[aria-label*=guardar],button[aria-label*=compartir],button[aria-label*=comentar],button[aria-label*=more],button[aria-label*=opciones],.action-button,button.action-btn{background-color:#0009!important;color:#fff!important;border:1px solid rgba(255,255,255,.2)!important;transition:all .2s ease!important}button[aria-label*=crear] svg,button[aria-label*=like] svg,button[aria-label*=guardar] svg,button[aria-label*=compartir] svg,button[aria-label*=comentar] svg,button[aria-label*=more] svg,button[aria-label*=opciones] svg,.action-button svg{color:#fff!important}button[aria-label*=crear]:hover,button[aria-label*=like]:hover,button[aria-label*=guardar]:hover,button[aria-label*=compartir]:hover,button[aria-label*=comentar]:hover,button[aria-label*=more]:hover,button[aria-label*=opciones]:hover,.action-button:hover{background-color:#000c!important;transform:scale(1.1)!important}.border-gray-700,.border-gray-600,.border-gray-800,.border-gray-500,.border-gray-400,[class*=border-gray-]{border-color:var(--theme-border)!important}.divide-gray-700>*+*,.divide-gray-800>*+*,.divide-gray-600>*+*{border-color:var(--theme-border)!important}.hover\:bg-gray-700:hover,.hover\:bg-gray-800:hover,.hover\:bg-gray-600:hover,.hover\:bg-gray-900:hover{background-color:var(--theme-hover-bg)!important}button:active,.active{background-color:var(--theme-active-bg)!important}nav button svg,nav a svg{fill:var(--theme-text-secondary)!important}nav button.active svg,nav a.active svg,nav button[aria-current=page] svg{fill:var(--theme-accent)!important}input,textarea,select{background-color:var(--theme-card-bg)!important;color:var(--theme-text)!important;border-color:var(--theme-border)!important}input::placeholder,textarea::placeholder{color:var(--theme-text-secondary)!important}.feed-item,.video-card,.game-card,.article-card,.card,[class*=card]{background-color:var(--theme-card-bg)!important;border-color:var(--theme-border)!important}::-webkit-scrollbar-track{background:var(--theme-bg)!important}::-webkit-scrollbar-thumb{background:var(--theme-text-secondary)!important;border-color:var(--theme-bg)!important}::-webkit-scrollbar-thumb:hover{background:var(--theme-text)!important}.bg-violet-400,.bg-violet-500,.bg-violet-600,.bg-violet-700{background-color:var(--theme-accent)!important}.text-violet-400,.text-violet-500,.text-violet-600{color:var(--theme-accent)!important}.border-violet-400,.border-violet-500,.border-violet-600{border-color:var(--theme-accent)!important}.hover\:bg-violet-500:hover,.hover\:bg-violet-600:hover,.hover\:bg-violet-700:hover{background-color:var(--theme-accent-hover)!important}button[class*=bg-violet]:not(:hover){background-color:var(--theme-accent)!important}button[class*=bg-violet]:hover{background-color:var(--theme-accent-hover)!important}button.bg-white,div.bg-white:not(img):not(.avatar){background-color:var(--theme-icon-bg)!important;color:var(--theme-text)!important}button.bg-white:hover{background-color:var(--theme-icon-bg-hover)!important}.text-black:not(img):not(.avatar){color:var(--theme-text)!important}
