:root{--primary-color: #6366f1;--primary-hover: #4f46e5;--bg-gradient-start: #0f172a;--bg-gradient-end: #1e1b4b;--card-bg: rgba(30, 41, 59, .7);--card-hover: rgba(51, 65, 85, .9);--card-border: rgba(255, 255, 255, .1);--text-main: #f8fafc;--text-muted: #94a3b8;--font-family: "Inter", system-ui, -apple-system, sans-serif}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-family);background:linear-gradient(135deg,var(--bg-gradient-start) 0%,var(--bg-gradient-end) 100%);color:var(--text-main);min-height:100vh;display:flex;align-items:center;justify-content:center;overflow:hidden}body:before,body:after{content:"";position:absolute;border-radius:50%;filter:blur(100px);z-index:0}body:before{width:400px;height:400px;background:#6366f14d;top:-100px;left:-100px;animation:float 10s ease-in-out infinite alternate}body:after{width:500px;height:500px;background:#8b5cf633;bottom:-150px;right:-100px;animation:float 12s ease-in-out infinite alternate-reverse}@keyframes float{0%{transform:translate(0)}to{transform:translate(50px,50px)}}.portal-container{position:relative;z-index:1;width:100%;max-width:900px;padding:2rem}.glass-panel{background:var(--card-bg);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid var(--card-border);border-radius:24px;padding:3rem;box-shadow:0 25px 50px -12px #00000080;display:flex;flex-direction:column;gap:3rem;animation:slideUp .6s cubic-bezier(.16,1,.3,1) forwards;opacity:0;transform:translateY(20px)}@keyframes slideUp{to{opacity:1;transform:translateY(0)}}.header{text-align:center;display:flex;flex-direction:column;align-items:center;gap:1rem}.logo{width:64px;height:64px;background:linear-gradient(135deg,#818cf8,#6366f1);border-radius:16px;display:flex;align-items:center;justify-content:center;color:#fff;box-shadow:0 10px 25px -5px #6366f180;margin-bottom:.5rem}.logo svg{width:32px;height:32px}h1{font-size:2.5rem;font-weight:700;letter-spacing:-.02em;background:linear-gradient(to right,#fff,#c7d2fe);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.header p{color:var(--text-muted);font-size:1.125rem}.roles-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem}.role-card{background:#ffffff08;border:1px solid var(--card-border);border-radius:16px;padding:2rem;display:flex;flex-direction:column;align-items:center;gap:1rem;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);color:var(--text-main);position:relative;overflow:hidden}.role-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:var(--primary-color);transform:scaleX(0);transition:transform .3s ease;transform-origin:left}.role-card:hover{background:var(--card-hover);transform:translateY(-5px);border-color:#fff3;box-shadow:0 20px 40px -10px #0000004d}.role-card:hover:before{transform:scaleX(1)}.role-card:active{transform:translateY(0)}.role-icon{width:56px;height:56px;border-radius:50%;background:#6366f126;display:flex;align-items:center;justify-content:center;color:#818cf8;transition:all .3s ease}.role-card:hover .role-icon{background:var(--primary-color);color:#fff;transform:scale(1.1)}.role-icon svg{width:28px;height:28px}.role-card h3{font-size:1.25rem;font-weight:600;margin-top:.5rem}.role-card p{color:var(--text-muted);font-size:.875rem;text-align:center}.role-card.loading{pointer-events:none;opacity:.7}.role-card.loading .role-icon{animation:pulse 1s infinite alternate}@keyframes pulse{0%{transform:scale(1);opacity:1}to{transform:scale(1.1);opacity:.7}}@media(max-width:768px){.glass-panel{padding:2rem}h1{font-size:2rem}.roles-grid{grid-template-columns:1fr}}
